2014-12-05 6 views
0

У меня есть функцияКак построить u (x, y) в полярной системе, MATLAB?

enter image description here

, и я должен нарисовать график этой функции для (х, у), лежащих в области

enter image description here

в полярной системе координат, где 'ro' - радиус.

Я нашел множество способов создания графика для одной переменной, но не для двух переменных. Спасибо за помощь.

+0

Я мог бы быть неправильно, но я думаю, что вы должны решить для 'x' и' у соответственно, а затем работать '' rho' и theta'. – kkuilla

+1

x = rho * cos (theta) и y = rho * sin (theta). Если тета колеблется от 0 до 2pi. Теперь вы можете вычислить свои точки данных массивов, скажем, rho = 0,9 и theta, идущие целиком. Таким образом, вы получаете 2 массива для x, y, которые вы должны использовать, чтобы получить свое поле u. (каждый элемент с каждым элементом так использует bsxfun и ваше заданное определение u). Теперь у вас есть возможность построить его, например. используя surf или imagesc. Вы должны получить матрицу! –

+0

Вышеуказанная не кривая, а поверхность. Вы хотели бы вместо 'iso-lines' вместо' u (x, y) = K' – ja72

ответ

1

Я сделал это преобразование из декартовой системы координат к полярной системе координат «в руках», а затем я сделал график так:

rho = linspace(0,0.9,50); 
phi = linspace(0,2*pi,50); 
[RHO,PHI] = meshgrid(rho,phi); 
u = (-1+RHO.^2)./(-RHO.^2+2*RHO.*sin(PHI)-1); 

figure('units','normalized','outerposition',[0 0 1 1]) 
set(gcf,'Color',[1,1,1]) 
box on; 

surf(RHO,PHI,u) 

xlabel('\rho'); 
ylabel('\phi'); 
zlabel('u(\rho,\phi)'); 

Что вы думаете? Верный?

enter image description here

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

  • Нет связанных вопросов^_^