0

配列をスタックして連立方程式を解くには、次のコードを実行する必要があります。

 1     import numpy as np
 2     from numpy.linalg import solve

 3     xi = np.array([-1., 1., -2])
 4     yi = np.array([0., 4., 3.])
 5     A = np.vstack([np.ones(3), xi, xi**2]).T
 6     b = yi

 7     c = solve(A,b)

次に、この後、グラフを実行するコードがありますが、5 行目でエラーが発生します。次のように表示されます。

  TypeError: 'function' object has no attribute '__getitem__'

どうすればこれを修正できますか?

4

1 に答える 1

2

ブラケットが混乱しているようです。上記のコードでは、5 行目の角かっこが一致して([...)]いないため、SyntaxError が返されます。あなたが実際に使用したバージョン[(...)]は、あなたが報告したエラーを与えるものだったと思います。問題は、Python 構文で丸括弧が必要な場合に、角括弧を使用して関数を呼び出そうとしていることです。ブラケットを逆に配置してみてください([...])。コードは私のシステムで正常に実行されます。

編集: これを入力している間に質問が編集されたので、最初の 2 つの文は無視してください。実際に実行されたコードでは、括弧の順序が間違っていたのではないかと今でも疑っています。

于 2013-04-18T00:38:32.077 に答える