У меня возникла проблема на протяжении всего процесса преобразования преобразования декартовых в Полярный, а затем обратно в декартово, чтобы подтвердить, что мое первоначальное преобразование было успешным.Преобразование декартовых координат в полярные координаты - Matlab
Но по какой-то причине, когда я возвращаюсь обратно в декартовы координаты с полярными координатами из третьего квадранта, значения 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
Все остальные 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
Спасибо, это сработало и укоротило мой сценарий! Единственное, что мне нужно было сделать, это вычесть отрицательные углы от 360, чтобы получить положительные углы после копирования и вставки в Excel в соответствии с остальными моими данными. – user1574598