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

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

Sign in to comment.

Accepted Answer

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

More Answers (0)

Products


Release

R2022a

Community Treasure Hunt

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

Start Hunting!