如何定期在SIMULINK中保存/输出数据?

时间:2019-11-21 10:11:22

标签: matlab simulink

我是SIMULINK的新朋友!

我有一个大型SIMULINK模型,可能要运行一年的模拟(时间分辨率为1秒)。因此,我需要定期保存数据(假设每天的总金额)。我试图为此生成一个自定义的Matlab函数(下面给出的代码)。

对于代码:我很难将每10 s保存的数据写入工作区或mat文件。

非常欢迎使用除此代码之外的其他方法。

Simulink模型: enter image description here

代码(与内存块​​&t连接的sum_in和sum_out来自时钟块)

function [y,sum_out] = fcn(t,sum_in)

t_duration=30;              % [s] Total duration of simulation

t_resol=10;                 % [s] Save every 10 s

sum_result=zeros(t_duration/t_resol,1);

t_per = mod(t,t_resol);

index=floor(t/t_resol)+1;

if t_per==1
    sum_result(index,1)=sum_out;
    save trial.mat sum_result;
    sum_in=0;
    sum_out=sum_in+1;
else
    sum_out=sum_in+1;
end

y=sum_out;

0 个答案:

没有答案