私はPythonに比較的慣れていませんが、基本的なことを理解しようとしています。
ベクトルを作成します。
x = np.linspace(0,2,3)
Out[38]: array([ 0., 1., 2.])
x[:,0] が値の引数ではないのはなぜですか?
IndexError: invalid index
x[0] でなければなりません。私は計算する関数を呼び出しています:
np.sqrt(x[:,0]**2 + x[:,1]**2 + x[:,2]**2)
入力に関係なく、なぜ私が持っているものが真実ではないのですか? 他の多くの言語では、配列内の他の行とは無関係です。おそらく私は何か基本的なことを誤解しています - もしそうなら申し訳ありません。私は置くことを避けたい:
if len(x) == 1:
norm = np.sqrt(x[0]**2 + x[1]**2 + x[2]**2)
else:
norm = np.sqrt(x[:,0]**2 + x[:,1]**2 + x[:,2]**2)
どこにでも。確かにこれを回避する方法があります...ありがとう。
編集:別の言語で動作する例はMatlabです:
>> b = [1,2,3]
b =
1 2 3
>> b(:,1)
ans =
1
>> b(1)
ans =
1