MATLAB functionブロックを使用する際にワークスペースに定義されている値を使用したい
39 次查看(过去 30 天)
显示 更早的评论
MATLAB functionブロックを使用する際に、先にワークスペースで定義している変数を使いたいのですが方法はないでしょうか。
また、MATLAB functionに書き込むプログラムは.mファイルで作成したプログラムをそのまま使うことはできないのでしょうか。
以上2点お願いいたします。
0 个评论
采纳的回答
Musashi Ito
2019-12-7
MATLAB Function ブロックでワークスペースの変数を使用する場合は、MATLAB Function ブロックのエディタにある[データの編集] から指定の変数を [パラメータ] として追加すると使えそうですがいかがでしょうか。
ドキュメンテーションにも記載してあるみたいです。
また.m ファイルをそのまま使用する場合は、全部コピーして貼り付けするか、.m ファイルを関数化して、MALTAB Function ブロック内で関数として呼び出す方法はいかがでしょうか。
0 个评论
更多回答(1 个)
s
2019-12-8
编辑:s
2019-12-8
2 个评论
Musashi Ito
2019-12-8
MATLAB Function ブロックの for 文の中で変数のサイズが変化するプログラムの場合は、for 文の前に変数のサイズを定義しておく必要がありそうです。yd1 のベクトルが for 文で計算される前に、事前にzeros などの関数でサイズを定義してみてはいかがでしょうか。
yd1 = zeros(1,length(xd));
同じようにTd, Vr, Tr も事前にサイズを定義する必要がありそうです。
MATLAB の関数で出力する変数が複数ある場合は、[ ] を使って記述するみたいです。
function [a,b,c,d] = fcn(u, g, ms, x2, T, d)
関数の書き方は下記のドキュメンテーションが参考になりそうです。
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Simulink Function 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!