MATLAB Answers

0

how do i plot a XYZ graph using simulink

Asked by pravin behera on 17 Apr 2015
Latest activity Commented on by Giampiero Campa on 2 Dec 2017
I have 3 variables which are varying, and i have to plot them in a 3D plot, in matlab simulink we have XY graph, is there any way to plot XYZ graph??, please help...

  0 Comments

Sign in to comment.

1 Answer

Answer by Sebastian Castro on 17 Apr 2015
Edited by Sebastian Castro on 17 Apr 2015
 Accepted Answer

There's no off-the-shelf block to do this, but you could always use your own MATLAB code to do this plotting.
If you want the plot to update as you go, you can use a MATLAB Function block.
If you're fine with the plot coming up at the end of simulation, you could create a StopFcn model callback which runs MATLAB code after simulation.
... or, you could simply use this 3DScope File Exchange link (NOTE: This doesn't work in R2014b and later because of the new MATLAB graphics system).
- Sebastian

  3 Comments

First of all thanks for ur precious answer, i saw that 3DScope file, i m using 2014a, but its not working, it is showing some error like "sfunxyz file not found"
and about that StopFcn callback, do u have any idea about whats the code for plotting 3D plots...
Well, you can log your simulation data from the Configuration Parameters' "Data Import/Export" pane. Or, you can use "To Workspace" blocks if that's easier for you.
Supposing you go through that logged data and pick out the X, Y, and Z data into vectors, the MATLAB code is simply:
plot3(X,Y,Z);
... plus whatever line/marker, color/size, title/label/legend things you want to set up.
Note that the 3DScope has been now updated so it works for all versions from 2014b and later. Also the legacy code had been provided so it works on versions prior to 14b.

Sign in to comment.