从命令行规范中计算操作点
您可以通过指定对模型状态、输出和输入的约束,并通过找到满足这些约束的模型运行条件来计算Simulink®金宝app模型的稳态工作点。有关稳态工作点的详细信息,请参见关于工作点和计算稳态工作点。
为您的Simulink模型找到一个操作点,您可以使用金宝appfindop
,如本例所示。
另外,你也可以在:
稳态管理器。有关更多信息,请参见使用稳态管理器从规格计算工作点。
模型线性化电路。有关更多信息,请参见使用模型线性化器从规格计算工作点。
在本例中,您将计算一个工作点以满足输出规范。使用类似的方法,您可以定义状态或输入规范。此外,您还可以定义状态、输出和输入规范的组合;也就是说,例如,您不必只使用状态规范。
有关调整模型以满足规格的更多信息,请参见根据规格计算稳态工作点。
Open 金宝appSimulink模型
打开Simulin金宝appk模型。
mdl =“scdspeed”;open_system (mdl)
定义工作点规范
为模型创建一个默认的操作点规范。
Opspec = operspec(mdl)
opspec = scdspeed型号的工作点规格。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax ___________ ___________ ___________ ___________ ___________ ___________ ___________ ( 1) scdspeed /油门&歧管/进气歧管/ p0 = 0.543条0.543假真的负无穷到正无穷负无穷到正无穷(2)scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s 209.48假真负无穷到正无穷负无穷到正无穷输入:---------- 你知道最小最大 _____ _____ _____ _____ ( 1) scdspeed /油门扰动0错误负无穷到正无穷输出:没有 ----------
由于模型中没有根级输出,默认的操作点规范对象没有输出规范。
对于本例,指定一个已知的稳态发动机转速。为此,在rad/s到rpm块的输出处添加一个输出规范。
Opspec = addoutputspec(Opspec,'scdspeed/rad//s to rpm'1);
的已知值2000
输出约束的RPM。
opspec.Outputs(1)。已知= 1;opspec.Outputs(1)。Y = 2000;
查看更新后的工作点规范。
opspec
opspec = scdspeed型号的工作点规格。(时变组件评估在时间t = 0) : ---------- x已知稳态分钟马克斯dxMin dxMax ___________ ___________ ___________ ___________ ___________ ___________ ___________ ( 1) scdspeed /油门&歧管/进气歧管/ p0 = 0.543条0.543假真的负无穷到正无穷负无穷到正无穷(2)scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s 209.48假真负无穷到正无穷负无穷到正无穷输入:---------- 你知道最小最大 _____ _____ _____ _____ ( 1) scdspeed /油门扰动0错误负无穷到正无穷输出 : ---------- y已知的最小最大 _____ _____ _____ _____ ( 1) scdspeed / rad / / s 2000 rpm真正负无穷到正无穷
调整模型
找到一个符合这些规范的操作点。
Op1 = findop(mdl,opspec);
工作点搜索报告:--------------------------------- opreport = scdspeed型号的工作点搜索报告。(time - varying Components evaluate at time =0)成功满足工作点规范。州 : ---------- 最小x最大dxMin dx dxMax ___________ ___________ ___________ ___________ ___________ ___________ ( 1) scdspeed /油门&歧管/进气歧管/ p0 = 0.543酒吧负0.54363正0 2.6649 e-13 0 (2) scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s负209.4395正0 -8.4758 e-12 0输入 : ---------- 最小u最大 _________ _________ _________ ( 1) scdspeed /油门扰动负0.0038183正输出:---------- 最小y最大 ____ ____ ____ ( 1) scdspeed / rad / / s rpm 2000 2000 2000
工作点搜索报告显示,成功满足规格要求,两种状态均处于预期的稳定状态(dx
= 0)。
您还可以在微调期间为输出指定边界。例如,假设你知道两者之间存在一个稳态条件1900
和2100
rpm。要将转速调整到这个范围,请修改工作点规格。
opspec.Outputs(1)。Min = 1900;opspec.Outputs(1)。Max = 2100;
在这种情况下,由于您不知道输出值,因此将输出指定为unknown。您还可以为输出值提供一个初始猜测。
opspec.Outputs(1)。已知= 0;opspec.Outputs(1)。Y = 2050;
找到一个符合这些规范的操作点。
Op2 = findop(mdl,opspec);
工作点搜索报告:--------------------------------- opreport = scdspeed型号的工作点搜索报告。(time - varying Components evaluate at time =0)成功满足工作点规范。州 : ---------- 最小x最大dxMin dx dxMax ___________ ___________ ___________ ___________ ___________ ___________ ( 1) scdspeed /油门&歧管/进气歧管/ p0 = 0.543酒吧负0.5436正0 2.9879 e-13 0 (2) scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s负209.4799正0 -9.8968 e-13 0输入 : ---------- 最小u最大 _________ _________ _________ ( 1) scdspeed /油门扰动负0.0050021正输出:---------- 最小y最大 _________ _________ _________ ( 1) scdspeed / rad / / s 1900 2000.3853 2100 rpm
工作点搜索报告显示,成功地满足了规格要求。
修整模型后,您可以:
在结果操作点对模型进行线性化。有关更多信息,请参见在修整工作点线性化。
在得到的操作点上模拟您的模型。有关更多信息,请参见仿真Simulin金宝appk模型在特定的操作点。