【问题标题】:Helix in MatlabMatlab中的螺旋
【发布时间】:2017-02-10 09:05:31
【问题描述】:

我正在努力在 Matlab 中创建一个螺旋。

通过以下代码:

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

(你能解释一下这个语法吗,或者我们每次创建螺旋时都必须遵循这个?)

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

由于螺旋角的最大效率在 40 到 45 度之间,如果我想将角度输入为 42,在代码中怎么可能?

如果有人能就此发表意见,那将非常有帮助

TIA

【问题讨论】:

    标签: matlab helix


    【解决方案1】:

    代码中发生的只是对螺旋的参数数学描述的执行,您可以在wikipedia 上阅读

    x(t) = cos(t)

    y(t) = sin(t)

    z(t) = t

    您的代码的第一行以pi/50 的步长(即1000 步)为从0 到20pi 的值t 生成一个向量。因为每2pi 意味着一整圈(cos 和 sin 是 2pi 周期),它与螺旋线的 10 圈重合(如果你想改变这个,让t 运行到2*pi*NumberOfRotations)。另外两行为x 和y 生成对应的向量。 plot3 在 3-D 中绘制一条线,其中传递了 x 和 y,作为 z 的参数,我们传递 t,因为 z=t。

    要改变螺旋线的斜率,请使用以下给出的更一般的描述

    x(t) = a*cos(t)

    y(t) = a*sin(t)

    z(t) = b*t

    其中 a 是半径,b/a 是斜率。要获得 42°,请使用 b = a*atand(42)。为确保显示中的纵横比正确,请在绘图后使用axis equal;,如果您想翻转它,可以使用axis vis3d;。

    【讨论】:

    • 非常感谢弗洛里安。这个答案对理解很有帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-21
    • 1970-01-01
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-13
    相关资源
    最近更新 更多