Plotting equations in 3D
73 views (last 30 days)
Show older comments
I have the equation:
x^2 + y^2 + z^2 = 1
How do I tell Matlab to plot this in the 3D plane? This is just one equation, but I will need to plot several in the 3D plane.
5 Comments
Adam
on 5 Jul 2017
I think you would need the Symbolic Toolbox to do this kind of thing. I only glanced at the equation initially and didn't register the '= 1' at the end of it which turns it into something that base Matlab doesn't cater for.
I've never worked with equation solving in Matlab myself so hopefully someone else can provide more information on usage of the Symbolic Toolbox or whatever other functionality is needed for this.
Accepted Answer
Ari
on 5 Jul 2017
Your equation x^2 + y^2 + z^2 = 1 resembles a surface and can be plotted with the fsurf command in MATLAB which will need your function handle as an argument. You will need to rewrite the function as z expressed in terms of x and y as follows.
z = @(x,y) sqrt(x.^2 + y.^2 - 1); % function handle to anonymous function
fsurf(z)
For plotting multiple 3D surfaces on the same graph you can use the hold command as below. The hold command will plot subsequent plots in the same figure.
z1 = @(x,y) sqrt(x.^2 + y.^2 - 1);
z2 = @(x,y) sqrt(x.^2 + 2*y.^2 - 5);
fsurf(z1)
hold on
fsurf(z2)
3 Comments
Sakib Mahmud
on 8 Sep 2019
This equation will give half of a sphere. The rest half will come from -sqrt...
More Answers (1)
HARSH MEHTA
on 22 Apr 2021
x^2 + y^3 + z^4 = f(x,y,z)
and X^2(y^3)(z^4) = f(x,y,z) how can i polt this both differently
0 Comments
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!