Using SimEvents results in Matlab

조회 수: 1(최근 30일)
Zahra Moussavi
Zahra Moussavi 2016년 1월 28일
댓글: Zahra Moussavi 2016년 2월 2일
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:

채택된 답변

Sean de Wolski
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
  댓글 수: 2
Zahra Moussavi
Zahra Moussavi 2016년 2월 2일
Hi again,
I need to store the time that an event occurred in the simulation too. For instance an entity leaving a queue in a specific time. How should I make this work? I am trying to use 'SaveTime', 'on' and the "Discrete Event Signal to Workspace" block but, I can't make it work!

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

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

Start Hunting!

Translated by