Plotting 3 variables of a single function

6 次查看(过去 30 天)
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!

回答(2 个)

AJ von Alt
AJ von Alt 2014-1-28
Sliceomatic on Matlab file exchange is a useful tool for this sort of visualization.
  4 个评论
AJ von Alt
AJ von Alt 2014-1-28
% 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 2014-4-24
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

请先登录,再进行评论。


Walter Roberson
Walter Roberson 2014-1-28
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.)

类别

Help CenterFile Exchange 中查找有关 Surface and Mesh Plots 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by