3D plot a function f(x,y,z)

I have a function of the coordinates x,y and z like the following :
function f= f(x,y,z)
if (x>0) & (y<1) % this is just an example, do whatever you want with the variables
f= 1;
else
f= x-y+2*z;
end
end
That I want to plot like by using the fimplicit3() function :
syms f(x,y,z)
f(x,y,z) = x^2 + y^2 - z^2;
fimplicit3(f)
The problem is fimplicit3 deals with the symbolic variables but fails to take as argument a function that I 'manually' specified above.
Is there another way to plot such a function ?
I just wanna draw some balls in space.

Risposte (2)

g=fimplicit3(@f);
function g = f(x,y,z)
g=1./x.^2 - 1./y.^2 + 1./z.^2;
end

6 Commenti

Omar Keele
Omar Keele il 13 Ott 2022
In this case g should not be a surface, I don't understand. Every point in space should have a color assigned to it, the 'value' of the color should be g(x0,y0,z0) for the point (x0,y0,z0).
Maybe the fimplicit3() is not what I am looking for ?
Torsten
Torsten il 13 Ott 2022
fimplicit3 plots the surface for which f(x,y,z) = 0.
For your function, this will be impossible for (x>0 & y<1) since f will always be 1 there.
Omar Keele
Omar Keele il 13 Ott 2022
Modificato: Omar Keele il 13 Ott 2022
This is not an issue, to draw a line segment in space, take f to be
function f= f(x,y,z)
if x=1 & y=2 & z<3 & z>-3
f= 1
else
f=0
end
end
We can draw isolated points in space if we wish, can't we?
Torsten
Torsten il 13 Ott 2022
I think you have a false impression of what fimplicit plots.
Omar Keele
Omar Keele il 13 Ott 2022
I mentioned the fimplicit to illustrate, do you know a matlab command to do this ? Maybe scatter3D?
Something that plot values of f(x,y,z) with different colors, the space should be filled ! (or maybe empty if the value is 0)

Accedi per commentare.

Drc
Drc il 20 Apr 2023

0 voti

guys i need this shape code

1 Commento

DGM
DGM il 20 Apr 2023
Modificato: DGM il 20 Apr 2023
Start a new question at the "Ask" link at the top of the page. Include enough information so that other people know specifically what you want. Considering that specific details were intentionally omitted from the image, I have to wonder why you're making it difficult.
Otherwise, see cylinder(), patch(), surf()

Accedi per commentare.

Prodotti

Release

R2022b

Richiesto:

il 13 Ott 2022

Modificato:

DGM
il 20 Apr 2023

Community Treasure Hunt

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

Start Hunting!

Translated by