SimulinkのMATLAB Functionでの変数参照に関して
17 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
真之 毛利
am 28 Jan. 2021
Kommentiert: 真之 毛利
am 1 Feb. 2021
MATLAB Function(Simulink / User-Defined Functions)のエディタでmファイルで定義した変数を使いたいのですが
参照できないとのエラーが出ます。以下例の改善点のご指摘お願いします。
(例)
param.mの記述
a=1;
MATLAB Function(Simulink / User-Defined Functions)の記述
function y= fcn(arg1)
y = a+arg1;
この状態でSimulinkのシミュレーションを開始すると
aが参照できないとのエラーが出ます。
ご存知の方、ご教示よろしくお願いします。
0 Kommentare
Akzeptierte Antwort
Toshinobu Shintai
am 28 Jan. 2021
まず、スクリプトに記載した変数は、MATLABのワークスペースに展開されなければ、Simulinkから参照することはできません。
一方で、param.mを「関数スクリプト」にした場合は、以下のようにすることで読むことができます。
param.mを以下のようにします。
function p = param()
p = struct;
p.a = 1;
end
SimulinkモデルのMATLAB functionでは、以下のようにします。
function y = fcn(u)
p = param;
y = p.a + u;
end
添付ファイルを確認してください。
また、MATLABワークスペースにある変数をMATLAB Functionで扱えるようにするには、以下のように、データの編集から新しい変数を作成し、
変数のスコープを「パラメータ」に変更し、変数名を「a」など、MATLABワークスペースの変数の同じ名前にします。
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Simulink 環境のカスタマイズ finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!