Simulinkでデ​ータに任意の時間軸を​データに持たせる方法

8 visualizaciones (últimos 30 días)
Mutsumi Yoshino
Mutsumi Yoshino el 17 de Mzo. de 2022
Comentada: Mutsumi Yoshino el 17 de Mzo. de 2022
Simulinkでデータに任意の時間軸をデータに持たせる方法を探しています.
具体的には,(シミュレーションのサンプリングが0.2[sec]の場合),
各タイムステップで作成されるdataに対してSimulink上で使用できる時間情報を与えたいです.
0[s] data=[0 1 2 ...]
0.2[s] data=[0 1 2 ...]  → data=[(時間) 0.2 0.4 0.6 ...
(信号) 0 1 2 ...]
矢印→の右側のように,データに与えたい時間は配列として作成できますが,Simulink上で認識されるものではなく,うまく時間軸を割り当てられません.
dataの作成は,MATAB functionブロックを使用しており,その中でtimeseries関数のプロパティ(Time)を使って上書きしようとしましたができないようです.
'timeseries' クラスはコード生成をサポートしていません
どのような方法でも構いませんので,教えていただければと思います.

Respuesta aceptada

Toshinobu Shintai
Toshinobu Shintai el 17 de Mzo. de 2022
"To Workspace" ブロックは試されましたでしょうか?以下のリンク先にブロックの説明と使い方の例があります。
  5 comentarios
Toshinobu Shintai
Toshinobu Shintai el 17 de Mzo. de 2022
私としては、かなり特殊なことをされていると感じます。申し訳ありませんが、行おうとしていることを完全に理解できませんでした。
ひとまずお伝えできることとしては、「coder.extrinsic」というコマンドを用いることで、MATLAB Functionブロックの"コード生成できません"の制限を解除することができる、という点です。
サンプルモデルを添付しました。モデルはR2017bで作成しています。以下のようにMATLAB Function ブロックでデータを作るとして、
以下のように記述します。
save_data_and_timeでは、MATLABの任意のコマンドを実行できます。
モデルを実行した際に、dataという変数にデータが1ステップごとに追加されていきます。
Mutsumi Yoshino
Mutsumi Yoshino el 17 de Mzo. de 2022
サンプルまで用意していただき,ありがとうございました.
まずはcoder.extrinsicの動作確認いたします.

Iniciar sesión para comentar.

Más respuestas (0)

Etiquetas

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!