。
この例では,findop
コマンドを使用して,複数の操作点の仕様に対し操作点を検出する方法を説明します。操作点を使用してモデルをバッチ線形化し、モデルの動作の変化を調べることができます。
findop
を呼び出すたびに,ソフトウェアは仿金宝app真软件モデルをコンパイルします。複数の仕様の操作点を検出するには,为ループ内でfindop
を繰り返し呼び出すのではなく,findop
に操作点の仕様の配列を指定します。ソフトウェアはモデルのコンパイルを1回のみ実行して複数の操作点を計算します。これは特に,再コンパイルの繰り返しに時間がかかるモデルに効果的です。
金宝app仿真软件モデルを開きます。
sys =“scdspeed”;open_system(系统)
既定の操作点の仕様オブジェクトの配列を作成します。
opspec = operspec (sys, 3);
rad / s rpmブロックへの出力が固定される定常状態の操作点を見つけるには,各操作点の仕様オブジェクトに既知の出力仕様を追加します。
opspec = addoutputspec (opspec[系统“rpm / rad / / s”), 1);为opspec(i).输出(1)。知道= true;结束
各操作点仕様について異なる既知の出力値を指定します。
opspec (1) .Outputs(1)。y = 1500;opspec (2) .Outputs(1)。y = 2000;opspec (3) .Outputs(1)。y = 2500;
あるいは,モデル線形化器を使用して操作点の仕様を構成し,その仕様をMATLABワークスペースにエクスポートすることもできます。詳細については,操作点探索に用いる仕様のインポートとエクスポートを参照してください。
3つの出力仕様をそれぞれ満たす操作点を検出します。findop
は1回のモデルコンパイルですべての操作点を計算します。
行动= findop (sys, opspec);
工作点搜索报告1:---------------------------------型号scdspeed的工作点搜索报告。(t=0时评估的时变分量)成功满足工作点规范。州 : ---------- ( 1。)scdspeed /油门&歧管/进气歧管/ p0 x = 0.543条:0.596 dx: 3.41 e-09 (0) (2) scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s x: 157 dx: -5.57 e-07(0)输入 : ---------- ( 1) scdspeed /油门扰动u: -1.61(负无穷到正无穷)输出 : ---------- ( 1) scdspeed / rad / / s rpm y:1.5e+03 (1.5e+03)工作点搜索报告2:---------------------------------型号scdspeed的工作点搜索报告。(t=0时评估的时变分量)成功满足工作点规范。州 : ---------- ( 1。)scdspeed /油门&歧管/进气歧管/ p0 x = 0.543条:0.544 dx: 2.66 e-13 (0) (2) scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s x: 209 dx: -8.48 e-12(0)输入 : ---------- ( 1) scdspeed /油门扰动u: 0.00382(负无穷到正无穷)输出 : ---------- ( 1) scdspeed / rad / / s rpm y:2e+03 (2e+03)工作点搜索报告3:--------------------------------- scdspeed模型的工作点搜索报告。(t=0时评估的时变分量)成功满足工作点规范。州 : ---------- ( 1。)scdspeed /油门&歧管/进气歧管/ p0 x = 0.543条:0.511 dx: 1.33 e-08 (0) (2) scdspeed /车辆动力学/ w = T / / J w0 = 209 rad / / s x: 262 dx: -7.83 e-08(0)输入 : ---------- ( 1) scdspeed /油门扰动u: 1.5(负无穷到正无穷)输出 : ---------- ( 1) scdspeed / rad / / s rpm y: 2.5 e + 03 (2.5 e + 03)
运维
は,scdspeed
モデルでopspec
にある仕様に対応する操作点のベクトルです。各操作点の出力値は,対応する操作点の仕様で指定された既知の値に一致します。