2014-01-11 2 views
0

Я создал прямоугольную матрицу с изменением угла азимута со строками и изменением радиуса при изменении столбца. Они предназначены для представления относительных скоростей, испытываемых вращающимся лезвием вертолета. Это создает матрицу под названием Vmat. Я хочу, чтобы построить это появляется в круге (представляющее вращение лезвия)Построение прямоугольной матрицы в круг

До сих пор я пытался

[R,T] = meshgrid(r,az);  

[x,y] = pol2cart(T,R);  

surf(x,y,Vmat(r,az));  

, который должен производить фасонную поверхность, показывающую скорость, как она меняется с azimouth углом и радиусом но при этом возникают ошибки измерения. Я не возражаю, если это 2d-контурный сюжет или 3D-сюжет, я думаю, оба они были бы написаны аналогичным образом.

Благодаря Джеймс

ответ

0

Ошибка в написании Vmat(r,az), полагая, что это фактические значения радиуса и азимута, а не индексы в радиусе вашего и азимута. Если вы хотите принять только подмножество Vmat, что это немного другое дело, но это должно работать:

[R,T] = meshgrid(r,az); % creates a grid in polar coordinates 
[x,y] = pol2cart(T,R); % changes those to cartesian for surf 
surf(x,y,Vmat);  

В качестве альтернативы вы могли бы сделать контур участка:

h = polar([0 2*pi], [0 max(r)]); % set up polar axes with right scale 
delete(h) % remove line 
hold on 
contour(x,y,Vmat); 
+0

Пробовал их обоих; surf() продолжает появляться с ошибками измерения. В контурном сюжете пришло: Размер X должен соответствовать размеру Z или количеству столбцов Z. – user3185852

+0

Если вы дадите мне свой адрес электронной почты, я могу отправить вам биты кода, которые мне нужно использовать. – user3185852

+0

Каковы размеры ваших 'r',' az' и 'Vmat'? – nkjt

Смежные вопросы