Ошибка использования file2md5hash во время одновременной работы - PullRequest
0 голосов
/ 30 октября 2019

Я запускаю 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, но это не помогло.

Кто-нибудь сталкивался с такой ошибкой? Спасибо

...