これらの5つのライン x=dataset[:,0]
y=dataset[:,1]
z_nodatum=dataset[:,2]
stage=dataset[:,17]
amp=dataset[:,5]
が実際dataset
で指定された列に対応すると思われる、ことを考えると
。 x
,y
,z_notatum
,stage
およびamp
は既に1×N配列である。このことを考えると
は、行:
x=np.array(x)
y=np.array(y)
は何もしない、xとyはすでにnumpyの配列です。 z=-(z_nodatum-2919)
は、すべての要素から2919を減算し、結果を否定し、結果として得られるnumpyの配列を返します。しかし、もう一度、z=np.array(z)
は何もしません、あなたはすでに最初の場所にnumpy配列を持っていました。
この次の行はおそらくあなたがやりたいとは思わないものです。これは何
A = np.column_stack(([x],[y]))
は、それがの1xNアレイx
とy
の配列を受け取りで、列には、それらをスタック[[x1, x2... xn, y1, y2...yn]]
をされて終わるいます。あなたはおそらく望んでいたことだった:カラムx
とy
[[x1,y1],[x2, y2]...[xn,yn]]
の2D numpyの配列を返します
A = np.column_stack((x,y))
。彼らはすぐ隣にいた場合
A = dataset[:,:2]
は、これが最初の場所で一緒にあなたにxとyを与えているだろう。これがあれば、すべてのあなたがXをどうするつもりだったとyあなたが最初にこれを行っている可能性があることに注意してくださいdataset
でお互いが(0取る - > N-1の列が、ここで、nここで2)
あなたの回転行列は、有効表示されますが、ノートでは、あなたはおそらく経由して、それを作成しておく必要があります。
theta = np.radians(20)
cos_theta,sine_theta =np.cos(theta), np.sin(theta)
R = np.matrix([[cos_theta, -sine_theta], [sine_theta, cos_theta]])
あなただけより便利な場合は、文字列形式のバージョンを使用してください(つまり、texを読む他の場所からのt)か、それを必要とする複雑な構造があります。それはここでは当てはまりません。お使いのバージョンで
B=A*R
あなたはAのための1x1xN NP配列を持っている、と明らかにR.これについて2×2は、仕事に行くのではありません。私が提案する修正された変更により
、あなたは内側のサイズが一致するため、有効な行のx列、Nx2のの*の2x2の操作を、になるだろう。 B
のうち回転x
とy
を取得するには、あなたが最初に何をしていた行うことができ、B
は(今この時点でNx2のnumpyの配列であるCの*のB = C、サイズがA.rows X B.colsです、外寸値):
x_rotated = B[:,0]
y_rotated = B[:,1]
すべての機能が有効になります。あなたの値の少なくとも1つが行列であることを確認してください。さもなければ、要素の賢明な乗算を行います(R
は行列です)。さらに、演算の順序によって、方程式の2つの配列(つまり配列*配列*行列)が行列演算の前に要素ごとの乗算を実行することがあります。