0

我不太明白,结果:“无”。我正在尝试开始消除(高斯)代码,但我收到结果:“无”。

from numpy import *
a= array([[1,0],[0,2]])
b= array([1,4])

def gauss(a,b):
    n=len(b)

    k=0
    while k in range (0, n-1):
        i=k+1
        while i in range ((k+1),(n)):
            a[i,k]=a[i,k]/a[k,k]
            j=k+1
            while j in range ((k+1),(n)):
                a[i,j]=a[i,j]-a[i,k]*a[i,k]
                j=j+1
            b[i]=b[i]-a[i,k]*b[k]
            i=i+1
        k=k+1
        return a
        return b

 print gauss(a,b)
4

1 回答 1

4

默认情况下,None如果没有return语句,Python 中的函数会返回,或者它不返回任何值。在您的情况下,您可以添加return a, b到函数的末尾。结果将是gauss(a, b)返回一个(a, b)带有新计算值的元组。

from numpy import *
a= array([[1,0],[0,2]])
b= array([1,4])

def gauss(a,b):
    n=len(b)

    k=0
    while k in range (0, n-1):
        i=k+1
        while i in range ((k+1),(n)):
            a[i,k]=a[i,k]/a[k,k]
            j=k+1
            while j in range ((k+1),(n)):
                a[i,j]=a[i,j]-a[i,k]*a[i,k]
                j=j+1
            b[i]=b[i]-a[i,k]*b[k]
            i=i+1
        k=k+1
    return a, b

print gauss(a,b)
于 2013-10-06T20:35:19.770 回答