MATLAB Answers

Plotting equations in 3D

406 views (last 30 days)
Marco Froelich
Marco Froelich on 5 Jul 2017
Commented: Sakib Mahmud on 8 Sep 2019
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

Show 2 older comments
Marco Froelich
Marco Froelich on 5 Jul 2017
Another error comes up with another formula: x = y + z
undefined function or variable y
Adam
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.
Marco Froelich
Marco Froelich on 5 Jul 2017
No but I am not trying to solve the equation, only plot its graph. But fair enough, thank you

Sign in to comment.

Accepted Answer

Ari
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)
You can find other methods to do the same from the documentation here .
For information on function handles see here .
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

Marco Froelich
Marco Froelich on 10 Jul 2017
Im sorry, but I just tried this and it gave me a weird graph I will show you. The equation above is supposed to give me sphere.
Marco Froelich
Marco Froelich on 10 Jul 2017
I found it. Input function, with the command fimplicit3
Sakib Mahmud
Sakib Mahmud on 8 Sep 2019
This equation will give half of a sphere. The rest half will come from -sqrt...

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!