Plotting 3 variables of a single function

6 visualizzazioni (ultimi 30 giorni)
Kayn
Kayn il 28 Gen 2014
Commentato: Giuseppe Naselli il 24 Apr 2014
Is it possible to plot three variables x,y and z of a single function f?
i.e. f = x^2 + y^2 + z^2, for example?
I'd want to plot the function 'f' with a range of values for x,y and z.
I've been looking at contour maps for two variables and would now, somehow, like to expand it to three variables and able to represent the function pictorially via a plot in Matlab.
Thanks!

Risposte (2)

AJ von Alt
AJ von Alt il 28 Gen 2014
Sliceomatic on Matlab file exchange is a useful tool for this sort of visualization.
  4 Commenti
AJ von Alt
AJ von Alt il 28 Gen 2014
% define an array of values for x y and z
x = -10:0.1:10;
y = -10:0.1:10;
z = -10:0.1:10;
% create a meshgrid
[Xmesh,Ymesh,Zmesh] = meshgrid(x,y,z);
% compute the function value at the meshgrid points
f = Xmesh.^2 + Ymesh.^2 + Zmesh.^2;
% launch sliceomatic
sliceomatic(f,x,y,z)
You can then select slices using the x y and z controls or view layers using the iso surface control
Giuseppe Naselli
Giuseppe Naselli il 24 Apr 2014
Hi All,
I need to do the same (plotting F as function of X,Y,Z) but I do not know the relationship between them.
Basically I have 4 column vectors F,X,Y,Z.
I can do the meshgrid(X,Y,Z) but I do not know how to manipulate F in order to use sliceomatic
Any idea?
Thanks in advance
G

Accedi per commentare.


Walter Roberson
Walter Roberson il 28 Gen 2014
For a full plot of 3 independent variables and one resultant variable, you need to encode the resultant variable as marker shape (one scatter3 or plot3 call for each different marker shape), or point size (scatter3; or a lot of plot3 calls), or as color (scatter3 or patch or a lot of plot3 calls), or as transparency (patch). (Though transparency by itself is hard to see.)

Community Treasure Hunt

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

Start Hunting!

Translated by