SimulinkのMATLAB Functionでの変数参照に関して

25 visualizaciones (últimos 30 días)
真之 毛利
真之 毛利 el 28 de En. de 2021
Comentada: 真之 毛利 el 1 de Feb. de 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が参照できないとのエラーが出ます。
ご存知の方、ご教示よろしくお願いします。

Respuesta aceptada

Toshinobu Shintai
Toshinobu Shintai el 28 de En. de 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ワークスペースの変数の同じ名前にします。
  1 comentario
真之 毛利
真之 毛利 el 1 de Feb. de 2021
回答いただきありがとうございました! 図付きで大変理解しやすかったです。 また何かあったときはよろしくお願いします!

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Simulink 環境のカスタマイズ en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

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

Start Hunting!