Matlab:如何在使用Simulink运行模拟时从文件加载数据?

时间:2015-05-29 04:06:27

标签: matlab

我想使用Simulink运行模拟,我想使​​用来自txt文件的数据。我尝试使用

x_ref_n0 = importdata('x_n_ref0.txt');

但是,我收到一条错误消息:

The function 'importdata' is not supported for standalone code generation.

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

您是否尝试在MATLAB功能块中使用importdata?您应该在MATLAB工作区中导入数据,然后使用“From Workspace”或“Signal From Workspace”块将数据置于simulink中。如果数据太大而无法将其带入工作空间,则应使用fopen一次读取几行文件,然后使用textscan解析数据。您可以通过多种不同方式调用这些函数。 stackoverflow问题How can I call an m file in Simulink and put it to a block in my model?有很多答案可以从Simulink调用MATLAB代码。

如果您正在从MATLAB功能块中读取一个时间步长中使用的一个文件中的所有数据,那么您应该将importdata声明为extrinsic,这将允许您调用不支持代码生成的MATLAB函数。使用extrinsic将不支持使用实时研讨会生成代码。模拟应该工作正常。请参阅http://www.mathworks.com/help/fixedpoint/ref/coder.extrinsic.html

中的外在文档