About "Matlab Fctn" block
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
William
am 16 Apr. 2014
Kommentiert: William
am 16 Apr. 2014
I included a for loop in the ML Fctn block.
function [xtest] x=(k)
for i=1:10
x=i
if (i>5)
x=k
else
x=i
end
end
I connected the output (x) to a "Time Scope" block. After the model runs for 20 sec, the Time Scope plot only the final value of x (x=k) instead of different values of x (1,2,3,4,5,5,5,..). How can I store or plot out all values of x? disp(x) will display values of x in Matlab window but I want to either store or plot x out (not just the final value).
Thanks.
Thanks.
I connected the output (x)
0 Kommentare
Akzeptierte Antwort
Azzi Abdelmalek
am 16 Apr. 2014
That's because the output of your Matlab Function block is the result of your for loop. The output is not the result of each iteration. You can use persistent declaration without a for loop, because Simulink will run your function automatically each step.
function x=fcn(k)
persistent i
if isempty(i)
i=0
end
i=i+1
x=i
if i>5
x=k
else
x=i
end
Weitere Antworten (0)
Siehe auch
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!