Спираль в Матлаб

Я работаю над созданием спирали в 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; если хочешь перевернуть.

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