Поверхность участка в цилиндрической системе координат в Matlab
У меня есть функция, и я хочу построить ее по цилиндрической координате.
w(z,theta)=sin(n.pi.z/a).sin(m.theta)
Пределы переменных: z=0..a, theta=0..theta_0 и радиус цилиндра R=1.
В физическом смысле я могу объяснить, что если мы в декартовой координате, z & theta - это оси x,y, а w - поверхность в этой прямоугольной области. Но в цилиндрической координате z & theta ограничивают один цилиндрический кусок цилиндра с радиусом = 1, что w является поверхностью в этой области.
1 ответ
Построение с использованием цилиндрических или сферических координат включает в себя несколько этапов:
Создать векторы для
theta
а такжеz
:тета = полоса пропускания (0,2* пи); z = пробел (0,10);
Создать
meshgrid
отtheta
а такжеz
:[TH, Z] = сетка (тета, z);
Напишите свою функцию R (TH, Z):
R = грех (Z)+1+5* грех (TH); %// Для цилиндра это будет просто R = ones(size(Z));
Преобразовать цилиндрические координаты в декартову:
[x, y, z] = pol2cart (TH, R, Z);
Нанесите результат, используя
surf
,mesh
или что угодно:сетка (х, у, г); ось равна