質問: a+arg1; この状態でsimulinkのシミュレーションを開始すると aが参照できないとのエラーが出ます。 ご存知の方、ご教示よろしくお願いします。
回答: まず、スクリプトに記載した変数は、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ワークスペースの変数の同じ名前にします。