0

よくわかりませんが、結果は「なし」です。除去 (Gauss) コードを開始しようとしていますが、結果は「なし」です。

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 に答える