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.

Antworten (2)

David Hill
David Hill am 13 Okt. 2022

1 Stimme

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

6 Kommentare

Omar Keele
Omar Keele am 13 Okt. 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 am 13 Okt. 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 am 13 Okt. 2022
Bearbeitet: Omar Keele am 13 Okt. 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 am 13 Okt. 2022
I think you have a false impression of what fimplicit plots.
Omar Keele
Omar Keele am 13 Okt. 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)

Melden Sie sich an, um zu kommentieren.

Drc
Drc am 20 Apr. 2023

0 Stimmen

guys i need this shape code

1 Kommentar

DGM
DGM am 20 Apr. 2023
Bearbeitet: DGM am 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()

Melden Sie sich an, um zu kommentieren.

Produkte

Version

R2022b

Gefragt:

am 13 Okt. 2022

Bearbeitet:

DGM
am 20 Apr. 2023

Community Treasure Hunt

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

Start Hunting!

Translated by