Спираль в Матлаб
Я работаю над созданием спирали в Matlab.
Идем по приведенному ниже коду:
t = 0:pi/50:20*pi;
(Не могли бы вы объяснить мне этот синтаксис, или мы должны следовать этому каждый раз при создании спирали?)
st = sin(t);
ct = cos(t);
plot3(st,ct,t)
Поскольку максимальная эффективность в углу спирали составляет от 40 до 45 градусов, если я хочу ввести угол как 42, как это возможно в коде?
Было бы очень полезно, если бы кто-то мог поделиться своим мнением по этому поводу.
ТИА
1 ответ
То, что происходит в коде, является просто выполнением параметрического математического описания спирали, которое вы можете прочитать в википедии как
x (t) = cos (t)
у (т) = грех (т)
z (t) = t
Первая строка вашего кода генерирует вектор для значений t
от 0 до 20pi
по шагам pi/50
(т. е. 1000 шагов). Так как каждый 2pi
означает одно полное вращение (cos и sin 2pi-периодические), оно совпадает с 10 витками спирали (если вы хотите изменить это, t
подбегать к 2*pi*NumberOfRotations
). Две другие строки генерируют соответствующие векторы для x
а также y
, plot3 строит линию в 3D, где x
а также y
и в качестве аргумента для z
мы проходим t
поскольку z=t
,
Чтобы изменить наклон спирали, используйте более общее описание, данное
x(t) = a*cos(t)
у (т) = а * грех (т)
z (t) = b * t
где a - радиус, а b/a - наклон. Чтобы получить 42° использовать b = a*atand(42)
, Чтобы убедиться в правильности соотношения сторон на дисплее, используйте axis equal;
после сюжета и возможно axis vis3d;
если хочешь перевернуть.