Effacer les filtres
Effacer les filtres

How to plot the equation |x|+|y|+|z|=1 ?

38 vues (au cours des 30 derniers jours)
Jes
Jes le 30 Jan 2017
Commenté : Walter Roberson le 30 Jan 2017
I have a 3D equation. Can anyone help me to plot this? Thanks

Réponses (2)

Benjamin Kraus
Benjamin Kraus le 30 Jan 2017
Modifié(e) : Benjamin Kraus le 30 Jan 2017
If you are using MATLAB R2016b you can use the new fimplicit3 command:
fimplicit3(@(x,y,z) abs(x)+abs(y)+abs(z)-1)
You may also be interested in fplot, fplot3, fsurf, fmesh, fcontour, and fimplicit (some of these have been available since R2016a, but fimplicit3 was added in R2016b).
  1 commentaire
Walter Roberson
Walter Roberson le 30 Jan 2017
Nice solution, Benjamin!

Connectez-vous pour commenter.


John Chilleri
John Chilleri le 30 Jan 2017
Modifié(e) : John Chilleri le 30 Jan 2017
Hello,
I'm certain there's a better way to do this, such as with surf, but here is a solution.
If you consider the equation, you realize that it's all planes joined by the 6 vertices {(1,0,0),(0,1,0),(0,0,1),(-1,0,0),(0,-1,0),(0,0,-1)}. These 6 vertices 'form' 8 sides.
Using the fill3 command, you can reconstruct the shape:
fill3([1 0 0],[0 1 0],[0 0 1], 'r')
hold on
fill3([1 0 0],[0 1 0],[0 0 -1], 'r')
fill3([1 0 0],[0 -1 0],[0 0 -1], 'r')
fill3([-1 0 0],[0 -1 0],[0 0 -1], 'r')
fill3([-1 0 0],[0 -1 0],[0 0 1], 'r')
fill3([-1 0 0],[0 1 0],[0 0 1], 'r')
fill3([-1 0 0],[0 1 0],[0 0 -1], 'r')
fill3([1 0 0],[0 -1 0],[0 0 1], 'r')
which results in the following image:
(This is just an angle I chose to show.)
Hope this helps!
  1 commentaire
John Chilleri
John Chilleri le 30 Jan 2017
If you are running R2016b, Benjamin Kraus has the smart solution! I'm running R2015b, and I would encourage my solution only if you are running an older release.

Connectez-vous pour commenter.

Catégories

En savoir plus sur 2-D and 3-D Plots dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by