plotting line function in 3D

1 次查看(过去 30 天)
t = linspace(0, 4*pi);
x = @(t)(4+sin(a*t))*cos(3*t);
y = @(t) (4+sin(a*t))*sin(3*t);
z = @(t) cos(3*t);
How is it possible to plot this function?

采纳的回答

Star Strider
Star Strider 2017-3-25
I had to supply a value for ‘a’, assuming it is a scalar.
This works:
t = linspace(0, 4*pi);
a = 1; % Guess The Value Of ‘a’
x = @(t)(4+sin(a*t)).*cos(3*t);
y = @(t) (4+sin(a*t)).*sin(3*t);
z = @(t) cos(3*t);
figure(1)
plot3(x(t), y(t), z(t))
grid on
You need to vectorize your functions to do element-wise operations (replacing ‘*’ with ‘.*’). See the documentation on Array vs. Matrix Operations for details.
  2 个评论
Jente Marien
Jente Marien 2017-3-25
Forgot to mention a = 62
Thanks!
Star Strider
Star Strider 2017-3-25
Since ‘a’ is a scalar, this will work.
My pleasure!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Annotations 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by