3D surface issues HELP!
3 views (last 30 days)
Show older comments
- * So these are the questions... most of the variables are fixed the long equation has been dramatically simplified in my code :) * *
- | This is what mine looks like.. |
What it should look like...
This is my code...
% Q = theta
r = linspace(0,15,200);
Q = linspace(0,2*pi,200);
[r,Q] = meshgrid(r,Q);
w = 14.0591*(1-(r/15)^2)^2 + 15;
x = r.*cos(Q);
y = r.*sin(Q);
mesh(x,y,w)
What have I done wrong? Why isnt mine round, I dont think 'r' is being inputed into the 'w' equation correctly, HELP!
0 Comments
Accepted Answer
Star Strider
on 7 Oct 2014
You need to vectorise your code and it will do just what you want:
r = linspace(0,15);
Q = linspace(0,2*pi);
[r,Q] = meshgrid(r,Q);
w = 14.0591*(1-(r/15).^2).^2 + 15;
x = r.*cos(Q);
y = r.*sin(Q);
mesh(x,y,w)
9 Comments
Star Strider
on 7 Oct 2014
Edited: Star Strider
on 7 Oct 2014
My pleasure!
The sincerest expression of gratitude here on MATLAB Answers is to Accept the answer that most closely solves your problem.
More Answers (1)
Image Analyst
on 7 Oct 2014
r is an array so you need .^ and not just ^. Try this:
workspace;
r = linspace(0,15,200);
Q = linspace(0,2*pi,200);
[r,Q] = meshgrid(r,Q);
w = 14.0591*(1-(r/15).^2).^2 + 15;
x = r.*cos(Q);
y = r.*sin(Q);
mesh(x,y,w)
% Enlarge figure to full screen.
set(gcf, 'Units', 'Normalized', 'OuterPosition', [0 0 1 1]);
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!