Поверхность участка в цилиндрической системе координат в 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 ответ

Построение с использованием цилиндрических или сферических координат включает в себя несколько этапов:

  1. Создать векторы для theta а также z:

    тета = полоса пропускания (0,2* пи); z = пробел (0,10);

  2. Создать meshgrid от theta а также z:

    [TH, Z] = сетка (тета, z);

  3. Напишите свою функцию R (TH, Z):

    R = грех (Z)+1+5* грех (TH); %// Для цилиндра это будет просто R = ones(size(Z));

  4. Преобразовать цилиндрические координаты в декартову:

    [x, y, z] = pol2cart (TH, R, Z);

  5. Нанесите результат, используя surf, mesh или что угодно:

    сетка (х, у, г); ось равна

Вот результат, который вы получите:

Другие вопросы по тегам