Using SimEvents results in Matlab
조회 수: 1(최근 30일)
표시 이전 댓글
Hi,
I want to change a parameter from 1 to 60 (1:1:60) in SimEvents and run the simulation. I might need to that for other parameters too so I thought of using a for loop in Matlab to do that. I used the "To Workspace block" to export my simulation results into the worksapce and when I run my simulation it is working and I can see the results being stored in an array. But the problem is when I use the for loop in Matlab to run the simulation then I get an error and it is not working. Any idea that why is it working when I run the simulation model itself and it's not when I run it from the Matlab environment?
Here is my simple code in Matlab:
clc
close all
Period = 0;
for i=1:60;
Period=Period+1;
sim('concreting1','SaveOutput','on','OutputSaveName','Timing');
SumTruckWaitTime=sum(simout(:,1))
MaxTruckWaitTime=max(simout(:,1))
end
That's is the warning that I get:
Reference to a cleared variable simout.
Error in IntervalChange (line 10)
SumTruckWaitTime=sum(simout(:,1))
That's the to workspace block in my simulation model:

and it is actually working when I run it from the SimEvents environment:

댓글 수: 0
채택된 답변
Sean de Wolski
2016년 1월 29일
Assign the output of sim to simOut.
simOut = sim('concreting1', 'SaveOutput','on');
z = simOut.get('Finaloutput'); % Finaloutput being the name of the output you want
And
추가 답변(0개)
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!