関数が認識されないことに関して

29 views (last 30 days)
非線形モデル予測制御を行おう考えているのですが、下のコードは初期化を行う行程なのですが、下コードの
”Ts = get_TimeStep('sim_data_vehicle_nl.sldd'); ”の部分で”関数または変数'get_TimeStep'が認識されません”と表示されてしまいます。
エラーを解決する方法を教えていただきたいです。
clc; Simulink.sdi.clear; Simulink.sdi.clearPreferences; Simulink.sdi.close;
system_model_name = 'Vehicle_system_Nonlinear_MPC';
controller_model_name = 'Parking_NMPC_MultiStage_Controller';
load_system(system_model_name);
set_param([system_model_name, '/MPC_Controller'], ...
'ModelName', controller_model_name);
Ts = get_TimeStep('sim_data_vehicle_nl.sldd'); %ここの部分

Accepted Answer

Toshinobu Shintai
Toshinobu Shintai on 30 Nov 2021
上記のコマンドは、こちらのFile Exchangeのサンプルモデルのコマンドをコピーしたものと推察されます。
"get_TimeStep"は、このサンプルモデルの中で用意しているローカルな関数スクリプトでして、その関数スクリプト(get_TimeStep.m)が無い環境では実行できません。
具体的には、上記サンプルモデルの「common」というフォルダの中に「get_TimeStep.m」が入っています。
参考までに、モデルやスクリプトがどのようなファイルを参照しているか、を調べるには依存関係アナライザーが便利です。良ければ使ってみてください。
  3 Comments
NAGATA SOICHIRO
NAGATA SOICHIRO on 1 Dec 2021
丁寧に回答していただきありがとうございました。解決できました。

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!