Hello! Could you help me with an issue? I'm trying to plot this figure:
u = 0:pi/5:4*pi;
v = 0:0.05:1;
X = v.*cos(u)-(1/2).*(v.^2).*cos(2*u);
Y = -v.*sin(u)-(1/2).*(v.^2).*sin(2*u);
Z = 4.*(v.^(3/2)).*cos(3.*u/2)/3;
figure('Color','w')
clf
s = surf(X,Y,Z, ...
'LineStyle','none', ...
'FaceLighting','gouraud', ...
'FaceColor','interp');
But MATLAB keeps telling me that Z must be a matrix, not a scalar or vector. How can I solve this problem?
Thanks for your help!

 Respuesta aceptada

Star Strider
Star Strider el 14 de Mzo. de 2015

1 voto

Solve it with the magic of meshgrid:
u = 0:pi/5:4*pi;
v = 0:0.05:1;
[u,v] = meshgrid(u,v);
The rest of your code remains unchanged, and it produces an interesting looking plot.

Más respuestas (0)

Categorías

Más información sobre Graphics Objects en Centro de ayuda y File Exchange.

Productos

Etiquetas

Preguntada:

el 14 de Mzo. de 2015

Respondida:

el 14 de Mzo. de 2015

Community Treasure Hunt

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

Start Hunting!

Translated by