SimulinkでのLoop処理方法に関して
조회 수: 27 (최근 30일)
이전 댓글 표시
お世話になっております。
SimulinkでのLoop処理方法について教えてください。
Simulinkにて下記の様な構造体配列変数(Data Table)の”N”をLoopにて変更し、これらのData Tableを用いて
LookUpを一括処理にて行いたいと考えています。
Data例:Table.Type(N).Val
教えて頂きたいこと
1.Loop処理で、反復回数(1~n)を”N”に反映する方法。
1.どのようなLoop処理を構築すればよいか。
以上です。よろしくお願いいたします。
댓글 수: 0
답변 (2개)
Toshinobu Shintai
2022년 2월 12일
ループ処理に関しては、For Iterator Subsystem を用いることで実現できるかと思います。以下のリンク先をご参照ください。
構造体配列は Simulink では添付モデルのように MATLAB Function ブロックを用いて扱うことができます。モデルはR2021bで作成しています。モデル実行前に以下のコマンドを実行してください。
Table.Type(1).Val = 1;
Table.Type(2).Val = 2;
MATLAB Function ブロックの端子とデータの管理は以下のようにしています。
댓글 수: 4
Atsushi Ueno
2022년 2월 19일
このQ&Aに始まった事ではありませんが、Simulink関連のQ&Aで添付モデルを開けない為に完全な回答を閲覧出来ない事は由々しき問題です。MATLAB Answerのライブスクリプト上でSimulinkモデルを開く事は出来ないですし、相手のMATLABバージョン以上のライセンスを所有していないとSimulinkモデルを開く事が出来ません。Q&Aの内容はあまねくMATLAB民が享受すべきではないのはないでしょうか。
結局どういう回答だったのでしょうか?添付モデルを見ないとわかりません。忍法「バージョンが新しいモデルが開けなくても拡張子slxをzipに変えて解凍すればある程度中身が見える」を使ってモデルを閲覧しましたが、添付モデルの内容はこういう事でしょうか?MATLAB functionブロックの引数の数が異なるので恐らく正しいモデルの姿を見る事が出来ていないのだと思います。
function y = fcn(Table, index)
y = Table.Type(index).Val;
end
참고 항목
카테고리
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!