为什么不是仿真软件看万博1manbetx到一个工作空间变量为初始状态,除非它的全球?

3视图(30天)
我有一个包装一个模型我打电话功能的代码。万博1manbetx
一个低能(不是兆瓦,只是一个比描述它容易出现)版本看起来像:
函数输出= eval_simul万博1manbetxink (X)
%……
%……以上相关行
rststate = X;%初始状态,定义从simOUT先前运行的历史
SIMSYS = load_system (“my_万博1manbetxsimulink_model”);
%模型包含参数theta_1 theta_2
theta_1 = 1;
theta_2 = 1;
setActiveConfigSet (SIMSYS“Configuration1”);
set_param (cset“StateSaveName”,“state_history”)
set_param (cset“LoadInitialState”,“上”);
set_param (cset“InitialState”,“rststate”);
% - - - - - - - - - - - - - - - - - -
rststate
simOUT = sim卡(“my_万博1manbetxsimulink_model”cset)
% - - - - - - - - - - - - - - - -
输出= simOUT.state_history;
%这个函数外,输入“X”一片“输出”选择的时间点。
缩进线给以下输出和错误分别为:
rststate =
结构体字段:
时间:108060年
信号:[1×135结构)
错误使用eval_simu万博1manbetxlink(第251行)
错误评估表达式“rststate”“InitialState”对话框中指定的配置参数
图“my_simulin万博1manbetxk_model”。
引起的由:
错误使用eval_simu万博1manbetxlink(第251行)
未被认可的rststate的函数或变量。
错误使用eval_simu万博1manbetxlink(第251行)
变量“rststate”并不存在。
建议行动:
负载一个文件到基地的工作区中。——修复
创建一个新的变量。——修复
输出立即在错误显示变量rststate前夕 定义的,但错误似乎状态,它不存在。
这似乎是一个局部作用域的问题即:因为rststate内定义一个函数,编译的本地工作区模型无法看到了吗?其他模型/包装设计同样没有给这个错误。我可以声明rststate作为全球wihtin m文件,这没问题。
为什么其他的目的在本地函数内定义如theta_i传递给它的成功吗?

答案(0)

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!