Построение с помощью матрицы в Matlab - PullRequest
0 голосов
/ 29 мая 2020

Дело в том, что у меня есть матрица, и когда я использую изображения c (), она выглядит как this , но моя цель - this . Итак, мой вопрос: знает ли кто-нибудь, какой сюжет это или у кого-то есть документ об этом, спасибо.

1 Ответ

1 голос
/ 07 июня 2020

Если у вас есть два вектора r и theta, дающие полярные координаты, или две матрицы rGrid и thetaGrid, дающие полярные координаты для каждого элемента матрицы данных, то такой код будет работать :

r=linspace(1,20,20);
theta=linspace(0,2*pi,20);

data = r'.*sin(2.*theta); % INSERT DATA HERE

[thetaGrid,rGrid]=meshgrid(theta,r); % Create coordinate grid if needed
[xGrid,yGrid]=pol2cart(thetaGrid,rGrid);

surf(xGrid,yGrid,data); % Plot data
view(2);

Polar plot

Просто имейте в виду, что строки матрицы данных должны соответствовать разным радиусам, а столбцы должны соответствовать разным значениям тета. Если он перевернут, то транспонируйте матрицу перед построением:

data = data';

Кроме того, если данные не переходят от 0 до 2 * пи радиан, повторите первое значение теты как последнее значение, и повторите первый столбец матрицы данных как новый последний столбец:

theta(end+1)=theta(1);
data=cat(2,data,data(:,1));

Существует также функция 3D Polar Plot при обмене файлами MATLAB, но у меня нет опыта ее использования: Трехмерный полярный график

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...