通过parsim或sim()运行simulink会导致不同的结果?

时间:2019-10-30 04:45:33

标签: matlab simulink

我正在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遇到相同的问题吗?

0 个答案:

没有答案