我正在將代碼從matlab轉換爲python。將代碼從matlab轉換爲python時發生尺寸錯誤
爲值,
N = 100
V = [[ -7.94627203e+01 -1.81562235e+02 -3.05418070e+02 -2.38451033e+02][ 9.43740653e+01 1.69312771e+02 1.68545575e+01 -1.44450299e+02][ 5.61599000e+00 8.76135909e+01 1.18959245e+02 -1.44049237e+02]]
V是numpy的陣列。
for i = 1:N
L(i) = sqrt(norm(v(:,i)));
if L(i) > 0.0001
q(:,i) = v(:,i)/L(i);
else
q(:,i) = v(:,i)*0.0001;
end
end
我已經轉換該代碼:
L = []
q = []
for i in range(1, (N +1)):
L.insert((i -1),np.sqrt(np.linalg.norm(v[:, (i -1)])))
if L[(i -1)] > 0.0001:
q.insert((i -1), (v[:, (i -1)]/L[(i -1)]).tolist())
else:
q.insert((i -1), (v[:, (i -1)] * 0.0001).tolist())
q = np.array(q)
return q, len_
但是,在Matlab所得尺寸爲3×4,但我得到4×3在python。任何人都可以讓我知道我在做什麼錯誤嗎?
您正在使用什麼版本的numpy的嗎? –