Преобразование полярного графика matlab в график x,y

#matlab #polar-coordinates

Вопрос:

У меня есть данные, которые создают полярный график

введите описание изображения здесь

где я хочу получить соотношение точек данных x и y (x/y) под каждым углом, затем построить соотношение (x/y) по сравнению с углом тета (0,…, 360). Каков наилучший способ достичь этого?

Комментарии:

1. Можете ли вы добавить псевдокод для воспроизведения этого полярного графика? Обычно выходные данные графика могут содержать метаданные (x,y или r и угол и т.д.) сгенерированного графика. Метаданные можно использовать для получения того, что вы ищете.

2. у вас были данные? Напишите программу, которую вы написали для создания этой фигуры, ее можно изменить, чтобы создать то, что вы хотите

3. Я не понимаю… У меня есть данные о ро и тета, я просто использую полярную диаграмму(тета,ро) для получения графика.

Ответ №1:

Если у вас есть координаты rho и тета для каждой точки данных на графике, вы можете легко получить координаты (x,y).

Предполагая, что ваши полярные координаты хранятся в двух отдельных векторах одинаковой длины, » ро » и «тета», вы можете использовать следующий код для извлечения соответствующих координат x и y:

 % theta is expressed in radians x = rho .* cos(theta) ; y = rho .* sin(theta) ;  

а затем вычислите соотношение следующим образом:

 x_over_y = x ./ y ;  

В качестве альтернативы, вы можете сделать все за один шаг, вот так:

 % theta is expressed in radians x_over_y = (rho .* cos(theta)) ./ (rho .* sin(theta)) ;  

Как только у вас будет x_over_y, вы сможете построить его по значениям тета:

 % theta is expressed in radians plot(theta*180/pi, x_over_y) ;