simulinkの演​算結果をmatlab​で使いたい

1 回表示 (過去 30 日間)
kenichiro inagaki
kenichiro inagaki 2021 年 2 月 25 日
回答済み: kenichiro inagaki 2021 年 2 月 25 日
simulinkのto workspaceやscopeの”データスペースにログを~”で出した結果をmatlabで使いたいのです。
が、simulationoutputと言う結果しか出てこず、クリックしても時間のデータがかろうじて見れる程度です(データとして取り出せない 見れるだけ)
simulinkのモデルコンフィギュレーションパラメータの中にある、”単一のシミュレーション出力”なるものを何となく外したら、simoutとしてデータは出てきますが、行列データになってくれなくて使えません。
(plotは出来ましたがそれだけ)
matlab様のサイトを見てても理解できず、googleに聞いても何を書いてあるかわかりません。
どうすれば使えるのか、教えていただけると助かります。

採用された回答

kenichiro inagaki
kenichiro inagaki 2021 年 2 月 25 日
ありがとうございます!!長年つまづいてたトコロがやっと解決しました!
このレベルの勉強をどこですればいいのか、と言う部分は解決しませんが、とりあえずまずは理解できました。

その他の回答 (1 件)

Toshinobu Shintai
Toshinobu Shintai 2021 年 2 月 25 日
以下のQiita記事にあるように、デフォルト設定では「単一のシミュレーション出力」になっており、構造体として格納されています。従って「out.tout」という形でその数値にアクセスする必要があります。
  2 件のコメント
kenichiro inagaki
kenichiro inagaki 2021 年 2 月 25 日
ありがとうございます
さっぱりわかりません…もっと基礎の基礎を学ぶべきなんでしょうが、学ぶところがありません。
やってみましたが、toutは出ましたがyoutが出ず。
simout1と名付けた構造体(1x1 double timeseries)の中には、"時間"列と"データ:1"列が出来ており、toutは別で52x1 doubleと言う名前ででてきました。
Toshinobu Shintai
Toshinobu Shintai 2021 年 2 月 25 日
その書き方ですと、「simout1」というのはtimeseries型ですね。timeseries型であれば、「simout1.Time」で時間、「simout1.Data」で値にアクセスできます。2変数以上のデータであれば、「simout1.Data」が行列になっていると思います。
分かりにくいですが、timeseries型の説明は以下に書かれています。

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

カテゴリ

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

タグ

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!