Запуск simulink через parsim или sim () приводит к разным результатам? - PullRequest
0 голосов
/ 30 октября 2019

Я запускаю векторное моделирование в simulink (MATLAB 2017.b). Чтобы запустить симуляцию, он решает много дифференциальных и алгебраических уравнений, поэтому он очень медленный. Для ускорения моделирования я использую команду Matlab Parsim. Проблема в том, что когда я запускаю одно и то же моделирование по отдельности (вне цикла, запуская вручную файл simulink), я вижу, что результаты невозможно воспроизвести. Когда я смотрю на сохраненные результаты с помощью моделирования, например, временных шагов, которые были предприняты, я вижу, что parsim делает разные шаги, и поэтому я получаю совершенно разные результаты.

Я использую те же решатели и те жеКонфигурации моделей в обоих файлах, но я не могу заставить их решить одну и ту же проблему!

in(1:length(Loads))=Simulink.SimulationInput(model);
for N=1:length(Loads)%length (Loads)
in(N)=in(N).setVariable('PL18',PL18(N));in(N)=in(N).setVariable('QL18',QL18(N)); in(N)=in(N).setVariable('PL25',PL25(N));in(N)=in(N).setVariable('QL25',QL25(N));in(N)=in(N).setVariable('PL26',PL26(N));in(N)=in(N).setVariable('QL26',QL26(N));
in(N)=in(N).setVariable('PL27',PL27(N));in(N)=in(N).setVariable('QL27',QL27(N));in(N)=in(N).setVariable('PL28',PL28(N));in(N)=in(N).setVariable('QL28',QL28(N));in(N)=in(N).setVariable('PL29',PL29(N));in(N)=in(N).setVariable('QL29',QL29(N));
end
in = in.setModelParameter('SimulationMode', 'Accelerator',  'SaveTime', 'on', 'SaveOutput', 'on'); 
out=parsim(in,'ShowSimulationManager', 'on');

Кто-нибудь сталкивался с такой же проблемой с PARSIM?

...