This block is an enhanced version of the standard XYGraph Simulink block.
The standard XYGraph allows to plot the motion of ONE point in the XY plane. This block allows plotting the motion of SEVERAL points in the XYZ space.
In other words each point draws a line as it moves, so you end up having several lines in the plot instead of just one. Setting the camera position parameter to [0 0 1] reduces the plot to a classic 2D one.
This block is very useful when you have to compare the motion of a point versus a reference trajectory. See this blog entry for more information: https://blogs.mathworks.com/pick/2017/03/10/3d-scope/
Run install_3dscope.m to install the scope. The file M2DScope_new.mdl contains a new version for R2014b and later, which was rewritten taking advantages of new graphic features. The file M2DScope_old.mdl contains the legacy version which is slower, has less features, and i think it's harder to use due to its coordinate input ordering, but should work for any version (5.3 and later).
Read the readme.txt file for more info.
really it was helpful 10Q
Thanks, Giampi. This is exactly what I am looking for. It works with R2016a.
Ok, I think I've found a solution for 2014b and later. I should be able to fully test it and then post it within 2-3 weeks.
a rather sooner than later updated Version would be urgently needed here. We use it, to assume and check lookuptables vor heat exchangers (heat Transfer coefficient dependent from both volume flows).
Hi. Thank you for the file. I'm using 2014b and I get the XYZ Plot without any error, but It is supposed to display both the actual and desired trajectories at the same time, But what I see is just a blue trajectory. Also, I changed i to 1+2*(i-1) but nothing happened. How should I depict the desired trajectories by red and actual trajectories by blue?
Thanks for your prompt response
Note that this scope does not work properly for 2014b and later versions. I will try to fix it at some point. If you need it sooner rather than later please let me know.
it is useful
Excuse my ignorance but.. how do I install this block? It could be helpful to me
Really useful block. Thanks.
Hi, I put the block on top of my aircraft model. After trimming the aircraft, trimming needs to be terminated. I use the following command bu it doesn't work with the 3d scope.
??? Error using ==> feval
--> Error evaluating 'StopFcn' callback of XYZ multiscope block (mask) 'Model/Subsystem/XYZ Graph'. Index exceeds
Error in ==> end_trim at 14
This is just too neat!
There is a slight bug if there are more than 6 inputs.
To fix, change the end of line 170 that reads
or to be more general to
1) several performance, elegance, readability, robustness and backward compatibility improvements
Several improvements and minor bug fixes to sfun3d.m
A new S-Function (sfun3d.m) was written for R2014b and later which takes advantages of newer graphics capabilities. The legacy S-Function sfunxyz.m was also rewritten so it can work for R2014b and later.
Fixed a small bug (thanks Richard), and added another example on lorenz attractor.
Removed ugly spaces from description.
Create scripts with code, output, and formatted text in a single executable document.