我有一组.mat文件,它们都代表一个对象的力量,取决于它的态度。我想在Simulink模拟器中加载它们,但是一次一个,通过指定正确的名称。
我尝试使用Matlab函数,但似乎没有工作,好像函数“load”不能通过Simulink使用。
如果有人有想法,我将不胜感激!
答案 0 :(得分:0)
您可能遇到范围问题而未将.mat文件加载到正确的工作区中。默认情况下,Simulink使用Base工作区来查找变量。确保函数返回并在此处设置正确的变量,通常使用脚本更容易实现此目的。
这意味着您将使用基本工作区,这可能是不可取的。如果要保持数据封装,可以生成masked subsystem并从掩码的初始化脚本中加载参数。这将定义掩码子系统内任何块都可访问的变量。
答案 1 :(得分:0)
我会在这里引用相关内容:
- 仅在为Simulink®仿真生成MEX或代码时使用。
- 要加载编译时常量,请使用coder.load。
- 如果没有赋值给结构或数组,则不支持使用该函数。例如,使用S = load(filename),而不是 负载(文件名)。
- 输出S必须是没有任何下标的结构或数组的名称。例如,不允许S(i)= load('myFile.mat')。
- 加载的参数必须是编译时常量字符向量。
- 不支持加载对象。
- 如果MAT文件包含不受支持的构造,请使用load(filename,variables)仅加载受支持的构造。
- 您无法在用于代码生成的函数中使用save。代码生成器不支持保存功能。而且,你 不能使用coder.extrinsic和save。在生成代码之前,您 可以使用save将工作区数据保存到MAT文件中。
- 您必须使用coder.varsize显式声明使用load函数加载的可变大小数据。