0
私は最初の変換が成功したことを確認するために、デカルト変換をPolarに変換してからCartesianに戻す際に問題があります。デカルト座標を極座標に変換する - Matlab
しかし、何らかの理由で、第3象限の極座標を持つデカルト座標に戻しているときに、私のx
とy
の値が間違っています。
x = -2.075548439;
y = -2.481775416;
if x < 0 && y < 0 % QUAD 3
radius = sqrt((x^2) + (y^2));
theta = atand((y*-1)/(x*-1));
theta = (270 - theta);
end
x = radius * cosd(theta);
y = radius * sind(theta);
% answer: x = -2.481775416, and y = -2.075548439
他の3つの象限に収まる他のすべてのx
とy
変換が正しい順序でバックx
とy
を置きます。
コードのこの部分は、しかし、正しい順序でバックx
とy
を置くん:あなたは特別なケースをチェックする必要はありません
x = 3.130287009;
y = -0.50613326;
if x > 0 && y < 0 % QUAD 4
radius = sqrt((x^2) + (y^2));
theta = atand((y*-1)/(x));
theta = (360 - theta);
end
x = radius * cosd(theta);
y = radius * sind(theta);
% answer: x = 3.130287009, and y = -0.50613326
さらに、「help cart2pol'」、「help pol2cart'」というのは、彼の割り当てでない限り簡単です。 – Jeon
ありがとう、それはうまくいき、私のスクリプトを大幅に短縮しました!私がしなければならなかった唯一のことは、残りのデータと一致するように、Excelにコピーして貼り付けた後、正の角度を得るために360からの負の角度を差し引くことでした。 – user1574598