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:
![](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 件のコメント
採用された回答
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 件)
参考
カテゴリ
Help Center および File Exchange で Discrete-Event Simulation についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!