データインスペクター​のデータをcsvファ​イルに変換

データインスペクターにあるデータをcsvファイルに出力するにはどのような手法が効率的ですか?
Simulnik上でのModel変更を行わず(「To Workspace」などを使用せず)、データインスペクタ―の情報のみでcsvに変換したいです。

 Réponse acceptée

Etsuo Maeda
Etsuo Maeda le 13 Mar 2019

1 vote

データインスペクターで選べるExport先は、To Workspaceかmatです。
モデルにブロックを付け加えたくないということであれば、データインスペクターからdouble timeseriesとしてWorkspaceに値を書き出して、その中にあるTimeやDataをcsvwriteするのがよいかと思います。(matに保存しても同じ)
HTH

6 commentaires

Takeru Tsuchida
Takeru Tsuchida le 13 Mar 2019
ご回答ありがとうございます。
「double timeseriesで出力」とは、実際にどのような操作をおこなえばいいのかご教示いただけますでしょうか?現在、Uint8 timeseriesで出力されてしまいます。
また、上記の状態でcsvwriteをおこなったところ
エラー: csvwrite (line 47)
関数 ’real’ (タイプ’timeseries’の入力引数)が未定義です。
というエラーが発生してしまいました。これは上記Uint8と関係がありますか?
Etsuo Maeda
Etsuo Maeda le 13 Mar 2019
doubleやUint8は数値型を表しているだけですので、あまり気にする必要はありません。SimulinkのデータをtimeseriesオブジェクトとしてWorkspaceに置くことができるという点だけご理解ください。
'csvwriteを行った' と書かれていますが、どのようなコードを書かれていますか?エラーメッセージだけでは何とも言えません・・・
例えば、aaa というtimeseriesオブジェクトとして観測値を出力して、csvwrite関数の入力引数とすると次のようなエラーになります。
>> csvwrite('out.csv', aaa)
Error using csvwrite (line 47)
Undefined function 'real' for input arguments of type 'timeseries'
コマンドウィンドウでaaaを出力してみればわかりますが、プロパティを持つオブジェクトを単純に書き出すことはできません。
>> aaa
timeseries
Common Properties:
Name: 'Nz pilot calculation:1'
Time: [1353x1 double]
TimeInfo: [1x1 tsdata.timemetadata]
Data: [1353x1 double]
DataInfo: [1x1 tsdata.datametadata]
TimeとDataを書き出すならば
>> OUT = [aaa.Time, aaa.Data];
>> csvwrite('out.csv', OUT)
のようにして行列として値を持っておく方が適切です。
HTH
Takeru Tsuchida
Takeru Tsuchida le 13 Mar 2019
エラーの件はEtsuo Maedaさんのご推察の通りのミスであり、ご教示いただいた内容でcsvへ出力可能でした。ありがとうございます。
timeseriesの件、実際の時間が0.01刻みのデータもあることから、csvに出力した際、四捨五入されてしまうので、Uintからdoubleやsingleに変更したいと思っています。変更自体は可能でしょうか?
Etsuo Maeda
Etsuo Maeda le 13 Mar 2019
型の一致まで気が回っていませんでした・・・
おっしゃるとおり、行列OUTでTimeとDataをまとめるとuint8になってしまいます。
少し手数が増えてしまいますが、こういう方法はどうでしょうか
>> Time = aaa.Time; % doubleになっているはず
>> Data = aaa.Data; % 最初はuint8
>> Data = double(Data); % doubleに数値型を変換
>> OUT = [Time, Data];
一行で書くならば
>> OUT = [aaa.Time, double(aaa.Data)];
という書き方ができるかと思います。
HTH
Takeru Tsuchida
Takeru Tsuchida le 13 Mar 2019
ご回答ありがとうございます。無事解決できました!
ご尽力感謝いたします。
Etsuo Maeda
Etsuo Maeda le 14 Mar 2019
回答採用ありがとうございます。
現在、MATLAB Answers Tシャツプレゼントキャンペーン中です。
お手すきの時には、回答者にも是非チャレンジしてみてください!
HTH

Connectez-vous pour commenter.

Plus de réponses (0)

Produits

Version

R2017b

Community Treasure Hunt

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

Start Hunting!