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?

 Akzeptierte Antwort

Star Strider
Star Strider am 25 Mär. 2017

1 Stimme

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 Kommentare

Jente Marien
Jente Marien am 25 Mär. 2017
Forgot to mention a = 62
Thanks!
Star Strider
Star Strider am 25 Mär. 2017
Since ‘a’ is a scalar, this will work.
My pleasure!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by