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

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

 채택된 답변

Etsuo Maeda
Etsuo Maeda 2019년 3월 13일

1 개 추천

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

댓글 수: 6

Takeru Tsuchida
Takeru Tsuchida 2019년 3월 13일
ご回答ありがとうございます。
「double timeseriesで出力」とは、実際にどのような操作をおこなえばいいのかご教示いただけますでしょうか?現在、Uint8 timeseriesで出力されてしまいます。
また、上記の状態でcsvwriteをおこなったところ
エラー: csvwrite (line 47)
関数 ’real’ (タイプ’timeseries’の入力引数)が未定義です。
というエラーが発生してしまいました。これは上記Uint8と関係がありますか?
Etsuo Maeda
Etsuo Maeda 2019년 3월 13일
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 2019년 3월 13일
エラーの件はEtsuo Maedaさんのご推察の通りのミスであり、ご教示いただいた内容でcsvへ出力可能でした。ありがとうございます。
timeseriesの件、実際の時間が0.01刻みのデータもあることから、csvに出力した際、四捨五入されてしまうので、Uintからdoubleやsingleに変更したいと思っています。変更自体は可能でしょうか?
Etsuo Maeda
Etsuo Maeda 2019년 3월 13일
型の一致まで気が回っていませんでした・・・
おっしゃるとおり、行列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 2019년 3월 13일
ご回答ありがとうございます。無事解決できました!
ご尽力感謝いたします。
Etsuo Maeda
Etsuo Maeda 2019년 3월 14일
回答採用ありがとうございます。
現在、MATLAB Answers Tシャツプレゼントキャンペーン中です。
お手すきの時には、回答者にも是非チャレンジしてみてください!
HTH

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

제품

릴리스

R2017b

질문:

2019년 3월 6일

댓글:

2019년 3월 14일

Community Treasure Hunt

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

Start Hunting!