Editor's Note: This file was selected as MATLAB Central Pick of the Week
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.
Giampy
Giampiero Campa (2021). 3DScope (https://www.mathworks.com/matlabcentral/fileexchange/4915-3dscope), MATLAB Central File Exchange. Retrieved .
Inspired: 3D Stem for Simulink Block, Attractors
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Create scripts with code, output, and formatted text in a single executable document.
I don't think it installs itself as a library, if i remember correctly. Just copy and paste the block from m3dscope_new.mdl
how to get it from Simulink library browser, it shows getting installed but I can't find it any where?
how can i zoom and see the details of the result in the scope. my desired and actual trajectory looks same even i change the camera to 2d. thanks
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.
Hi Giampiero,
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.
>> feval(model,[],[],[],'term');
??? Error using ==> feval
--> Error evaluating 'StopFcn' callback of XYZ multiscope block (mask) 'Model/Subsystem/XYZ Graph'. Index exceeds
matrix dimensions.
Error in ==> end_trim at 14
feval(model,[],[],[],'term');
This is just too neat!
very useful
There is a slight bug if there are more than 6 inputs.
To fix, change the end of line 170 that reads
,'Color',cord(mod(i,7),:));
to
,'Color',cord(mod(i-1,7)+1,:));
or to be more general to
,'Color',cord(mod(i-1,size(cord,1))+1,:));
It's Work