array of plots in simulink
Afficher commentaires plus anciens
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 commentaires
Paulo Silva
le 6 Déc 2011
Thanks for writing your solution, someone else might have a similar problem, +1 vote
Fangjun Jiang
le 6 Déc 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
le 24 Avr 2013
Réponses (0)
Catégories
En savoir plus sur Scopes and Data Logging dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!