Я следовал следующему примеру для Matlab: http://se.mathworks.com/help/matlab/creating_plots/contour-plot-in-polar-coordinates.html. Этот пример работает, но когда я хочу построить свои собственные данные, фигура не меняется, и я не получаю никаких результатов. Построение моих данных, как обычно, с помощью контура() работает. Что я делаю неправильно?
Изменить: код из примера:
th = (0:5:360)*pi/180;
r = 0:.05:1;
[TH,R] = meshgrid(th,r);
[X,Y] = pol2cart(TH,R);
Z = X + 1i*Y;
f = (Z.^4-1).^(1/4);
figure
surf(X,Y,abs(f))
colormap summer;
hold on
surf(X,Y,zeros(size(X)))
hold off
xlabel('Real')
ylabel('Imaginary')
zlabel('abs(f)');
figure
contour(X,Y,abs(f),30)
axis equal
xlabel('Real')
ylabel('Imaginary')
h = polar([0 2*pi], [0 1]);
delete(h)
hold on
contour(X,Y,abs(f),30)
Мои значения: a
, b
и c
, представляющие сетку сетки (как TH
и R
), и c
, которая представляет собой матрицу высот. Я просто заменил последнюю команду:
contour(a, b, c, 30)
а — матрица размером 361х361 с диапазоном от 2 до 226, б — то же. c изменяется от 0,5 до 50 и имеет размер 361x361.
size
иrange
. Кроме того, вы понимаете, что вам нужны только (если вы настроили свои переменные) последние четыре строки для этого графика, верно? - person nkjt   schedule 18.02.2015