"From File" 从 Matlab .m 文件循环调用的 Simulink 块



我正在通过 Matlab 中的循环调用 Simulink 仿真。我能够发送许多数字参数(例如积分器的初始条件(,但是我的"From File"块中出现错误。

我不太确定其他人是怎么做到的,但是在我工作的地方,我们通过一个自制的功能发送它,该函数接受结构输入。结构的字段是变量名称,字段的值是变量本身。例如:

pb = struct('preload',preload(pl_index),...
'displacement',preload_displacement(pl_index),...
'filename',fileList{m});
">

预载荷"和"位移"变量的评估结果很好,但filename给出一个错误:

filename.mat

有谁知道您是否可以在"From File"块中传递变量的值filename(fileList{m}(,如果是这样,如何做到这一点。谢谢!

回答我自己的问题!

我使用了 Simulink "From Workspace" 块而不是 "From File"。

f = load(fileList{m});
fnames = fieldnames(f);
% The files were arranged weird, so I have one field inside the structures... and they all had different names.
switch fnames{1}
case 'first'
filedata = f.first;
case 'second'
filedata = f.second;
case 'third'
filedata = f.third;
case 'fourth'
filedata = f.fourth;
end
t = filedata(1,:);
u = filedata(2,:);
loaded_file = timeseries(u,t);

我把loaded_file传递给我的函数。

最新更新