Using SimEvents results in Matlab
1 view (last 30 days)
Show older comments
Zahra Moussavi
on 28 Jan 2016
Commented: Zahra Moussavi
on 2 Feb 2016
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:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/153659/image.png)
and it is actually working when I run it from the SimEvents environment:
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/153660/image.png)
0 Comments
Accepted Answer
Sean de Wolski
on 29 Jan 2016
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
More Answers (0)
See Also
Categories
Find more on Discrete-Event Simulation 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!