MATLAB functionブロックを使用する際にワークスペースに定義されている値を使用したい
조회 수: 37 (최근 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!