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

37 vues (au cours des 30 derniers jours)
Kazu Ari
Kazu Ari le 22 Mar 2023
Commenté : Kazu Ari le 23 Mar 2023
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
・ ・
・ ・
・ ・
切り上げ(四捨五入?)したくないのですが、どのようにすればよいでしょうか?
宜しくお願いします。

Réponse acceptée

Atsushi Ueno
Atsushi Ueno le 23 Mar 2023
Déplacé(e) : Atsushi Ueno le 23 Mar 2023
具体的なプログラムを挙げて頂けないでしょうか?
問題が再現しません。そもそも 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 commentaires
Atsushi Ueno
Atsushi Ueno le 23 Mar 2023
Déplacé(e) : Atsushi Ueno le 23 Mar 2023
ありがとうございます。問題が再現しました。
当該データの型が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 le 23 Mar 2023
確かに画面にuint8とありますね。
全く気にしてませんでした。
助かりました。
ありがとうございます。

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur 時系列コレクション dans Help Center et File Exchange

Tags

Produits


Version

R2021b

Community Treasure Hunt

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

Start Hunting!