Running Simulink model in a loop

1 view (last 30 days)
I want to run a simulink model in a loop and store the output for analysis.
However, I noticed that it is the result of the last calculation that gets stored.
Below is my syntax
Period=2:2:10;
Omega=2*pi./Period;
tauDot=0.05473;
simutime=100;
for i=length(Omega);
omega=Omega(i);
sim('PTO_model',simutime);
Pr=simout;
Pressure(:,i)=Pr;
end
omega and taudot are variables defined to be used in the model.
simout is an output to workspace block that I have withing my simulink model.
The issue is that the final result of Pressure is a matrix with the first 4 columns having all zeros and the last coulmn containing results fof the last pass of the for loop.
Could anyone tell me why the reults of the first 4 calculations is not saved.

Accepted Answer

Yasasvi Harish Kumar
Yasasvi Harish Kumar on 24 Apr 2019
Hi,
You can use data store memory block and log the value in the workspace as well. Read more here.
Regards

More Answers (1)

A Afonja
A Afonja on 24 Apr 2019
I have found where the problem is. Very basic mistake. I wrote i=length(omega) and not i=1:length(omega).
Thanks for responding Yasasvi

Categories

Find more on General Applications in Help Center and File Exchange

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!