timeseries​データから、X、Yの​値をcsv化する方法

56 次查看(过去 30 天)
Kazu Ari
Kazu Ari 2023-3-22
评论: Kazu Ari 2023-3-23
timeseriesデータ「ts」から配列を作ります。
tsの中身
時間 データ
199.8000 1
199.8100 1
199.8200 1
・ ・
・ ・
・ ・
以下のコマンドでtimeseriesデータから配列を作ります。
Hairetsu = [ts.Values.Time , ts.Values.Data]
timeseriesでは小数点以下4桁だったのが、配列では整数に切り上げ(四捨五入?)られてしまいます。
200 1
200 1
200 1
・ ・
・ ・
・ ・
切り上げ(四捨五入?)したくないのですが、どのようにすればよいでしょうか?
宜しくお願いします。

采纳的回答

Atsushi Ueno
Atsushi Ueno 2023-3-23
移动:Atsushi Ueno 2023-3-23
具体的なプログラムを挙げて頂けないでしょうか?
問題が再現しません。そもそも timeseries データに”Values”フィールドが存在しません。
ts = timeseries(ones(5,1),[199.80;199.81;199.82;199.83;199.84])
timeseries Common Properties: Name: 'unnamed' Time: [5x1 double] TimeInfo: tsdata.timemetadata Data: [5x1 double] DataInfo: tsdata.datametadata
%Hairetsu = [ts.Values.Time , ts.Values.Data]
Hairetsu = [ts.Time , ts.Data]
Hairetsu = 5×2
199.8000 1.0000 199.8100 1.0000 199.8200 1.0000 199.8300 1.0000 199.8400 1.0000
  3 个评论
Atsushi Ueno
Atsushi Ueno 2023-3-23
移动:Atsushi Ueno 2023-3-23
ありがとうございます。問題が再現しました。
当該データの型がuint8 timeseries型である事が原因です。即ち時刻情報 label.Time はdouble型ですが、label.Dataがuint8型です。これらをそれぞれ取り出し一つの行列に纏めるとuint8型に変換されてしまいます。
nnn=[label.Time,label.Data]
label.Dataを取り出した後double型にキャストすれば問題が解消します。
nnn = [label.Time,double(label.Data)]
Kazu Ari
Kazu Ari 2023-3-23
確かに画面にuint8とありますね。
全く気にしてませんでした。
助かりました。
ありがとうございます。

请先登录,再进行评论。

更多回答(0 个)

标签

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!