Спираль в Matlab

Я работаю над созданием спирали в Matlab.

Переходим по приведенному ниже коду:

t = 0:pi/50:20*pi;

(Не могли бы вы объяснить мне этот синтаксис, или мы должны следовать этому каждый раз при создании спирали?)

st = sin(t);
ct = cos(t);
plot3(st,ct,t)

Поскольку максимальная эффективность угла спирали составляет от 40 до 45 градусов, если я хочу ввести угол 42, как это возможно в коде?

Было бы очень полезно, если бы кто-нибудь поделился своим мнением по этому поводу.

ТИА


person Wazir    schedule 10.02.2017    source источник


Ответы (1)


То, что происходит в коде, является просто выполнением параметрического математического описания спирали, которое вы можете прочитать на википедия как

х (т) = потому что (т)

у (т) = грех (т)

z(t) = t

Первая строка вашего кода генерирует вектор для значений t от 0 до 20pi с шагом pi/50 (т. е. 1000 шагов). Поскольку каждый 2pi означает один полный оборот (cos и sin имеют периодичность 2pi), он совпадает с 10 витками спирали (если вы хотите изменить это, пусть t достигает 2*pi*NumberOfRotations). Две другие строки генерируют соответствующие векторы для x и y. plot3 строит линию в 3-D, где передаются x и y, а в качестве аргумента для z мы передаем t, начиная с z=t.

Чтобы изменить наклон спирали, используйте более общее описание, данное

х (т) = а * соз (т)

у (т) = а * грех (т)

z(t) = b*t

где a — радиус, а b/a — уклон. Чтобы получить 42°, используйте b = a*atand(42). Чтобы убедиться, что соотношение сторон отображается правильно, используйте axis equal; после графика и, возможно, axis vis3d;, если вы хотите изменить его.

person Florian    schedule 10.02.2017
comment
Большое спасибо, Флориан .. Ответ был действительно полезен для понимания :) - person Wazir; 10.02.2017