Я запускаю 8000 симуляций через mfile в Matlab (Matlab 2017.b).
Я запускаю симуляции через цикл for, где в каждом цикле я сначала читаю необходимые переменные из большой структуры (называемой «in»), а затем запускаю симуляцию, используя sim(in(i))
.
Затем я обрабатываю вывод и сохраняю его в два столбца массива.
Затем я стираю переменную, которая использовалась до начала следующей итерации.
Код выглядит следующим образом:
for i=1:n
B=in(1,i);
out_one=sim(B);
time(:,1)=out_one.angle_difference.time;
RRA(:,1:10)=out_one.angle_difference.signals.values;
[rows,cols,vals]=find(abs(RRA(:,1:10))>=180,1);
if rows>1
CCT=time(rows,1); StabilityIndex=0;unstables=unstables+1;
fprintf('CCT=%s, at scenario #%s \n',num2str(CCT),num2str(i))
else
StabilityIndex=1;
CCT=1; %labeling CCT from 1!used to be 0!
end
TSA_Report_one(i,1:2)=[StabilityIndex, CCT];
save('TSA_removedACOPFs.mat','TSA_Report_one');
out_one=[];time=[];RRA=[];rows=[];cols=[];vals=[];
end
Однако после некоторых запусков (это нефиксированное число) Я получаю эту ошибку:
An error occurred while computing the MD5
checksum of 'C:
Caused by:
Error using file2md5hash
Java exception occurred:
java.io.IOException: The semaphore
timeout period has expired
at
java.io.FileInputStream.readBytes(Native
Method)
at
java.io.FileInputStream.read(FileInputStream.java:233)
at
com.mathworks.comparisons.util.LocalIOUtils.getFileChecksum(LocalIOUtils.java:71)
Я уже пытался найти источник проблемы в конфигурации Simulink, но это не помогло.
Кто-нибудь сталкивался с такой ошибкой? Спасибо