Simulinkのt​imetableデー​タで列ごとの処理をす​る方法

6 ビュー (過去 30 日間)
FK
FK 2022 年 7 月 27 日
コメント済み: Atsushi Ueno 2022 年 7 月 27 日
第1列に「時間データ」、第2~第N列に「測定データ」を持つtable(timetable)を
Simulinkモデル内でFrom Workspaceにより読み込みました。
このtableでは,時間軸に対して第2~第N列毎に計算処理する必要があるため,
From Workspaceの出力端子にDemuxを接続し,列ごとに分解し,処理後にMuxで信号線をまとめています。
しかし,列数が1000近くあるため、Demux/Muxへの配線(スクリプトを使用)で
大変時間がかかります。
列数が測定データによって異なるため、もう少し簡略的なやり方を探しています。
頻繁にDemuxやMuxをせずに,tableを列ごとに処理する機能やブロックがありましたら、
教えて頂きたいです。よろしくお願いいたします。
  2 件のコメント
Atsushi Ueno
Atsushi Ueno 2022 年 7 月 27 日
>timetable には 1 つの信号の 1 つの列のデータのみが含まれている必要があります。
timetableではなく、おそらくtimeseries データを読み込んだのではないかと想定します。
Atsushi Ueno
Atsushi Ueno 2022 年 7 月 27 日
timetableでも下記の様な形(timetableは時刻列に対し1列で、その中身はN列の行列)なら入力可能ですね。

サインインしてコメントする。

採用された回答

Atsushi Ueno
Atsushi Ueno 2022 年 7 月 27 日
Simulinkもベクトルや行列を扱えるので、同一処理を施すのであればDemuxで分解する必要はありません。
例えばN列の信号全ての振幅を2倍する場合、From Workspaceの出力をGainブロックに接続するだけでOKです。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSources についてさらに検索

製品


リリース

R2022a

Community Treasure Hunt

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

Start Hunting!