array of plots in simulink
Show older comments
Hello,
I wrote the following embedded matlab function to plot an array of scopes:
function fcn(t,u)
% This block supports an embeddable subset of the MATLAB language.
% See the help menu for details.
figure(1)
subplot(331);
h=findobj(gca,'Type','line');
if isempty(h);
plot(t,u)
else
set(h,'XData',[get(h,'XData') t],'YData',[get(h,'YData') u]);
drawnow
end
I get the following error:
Embedded MATLAB Interface Error: Size mismatch for MATLAB expression 'get'. Expected = 1x1 Actual = 1x2
Block Embedded MATLAB Function (#44)
While executing: none.
Does anyone know what goes wrong and how i can solve it?
thanks,
edit: seems that I'm not allowed to use the get command. is there another way to get the X and Y data?
edit2: I solved the problem using the XY graph from the submenu sinks. --> drop in the simulink model --> look under mask --> open the sfun dialog box --> edit the sfun --> search in the sfun for the word axes, and replace that word by subplot(331). done
3 Comments
Paulo Silva
on 6 Dec 2011
Thanks for writing your solution, someone else might have a similar problem, +1 vote
Fangjun Jiang
on 6 Dec 2011
I am curious about the use case. It sounds odd to me to use the above code to generate the plot in Simulink. Why can't you use the Scope block?
Wesley Ooms
on 24 Apr 2013
Answers (0)
Categories
Find more on Scopes and Data Logging in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!