データのリサンプリングについて

10 Ansichten (letzte 30 Tage)
健気 大川
健気 大川 am 21 Okt. 2021
Kommentiert: 健気 大川 am 22 Okt. 2021
等間隔ではないデータのリサンプリングを行いたいです。例えば、下記のようなデータ(20個)を13個のデータにするにはどうしたらよいでしょうか。どなたか助言をお願いいたします。(今回は20から13ですが任意の数行いたいです)
71
71.66035
72.64257
73.40705
74.29461
75.0875
75.84253
76.76797
77.58928
78.50525
79.26976
80.09108
80.884
81.64853
82.46986
83.29119
83.92319
84.71614
85.38601
86
  1 Kommentar
健気 大川
健気 大川 am 21 Okt. 2021
リサンプリング後も最初(71)と最後(86)は固定したいです

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Shunichi Kusano
Shunichi Kusano am 21 Okt. 2021
Bearbeitet: Shunichi Kusano am 21 Okt. 2021
そのような不等間隔なxに対して何らか測定値yがある、ということでしょうか?
そういう状況の場合、interp1関数をお使いください。サンプリング点はlinspace関数で作ることができます。
% 参考
% x <= 不等間隔なサンプリング点
% y <= xでの計測値
yq = interp1(x,y,linspace(x(1),x(end),13)); % 内挿
  3 Kommentare
Shunichi Kusano
Shunichi Kusano am 22 Okt. 2021
詳細補足いただきありがとうございます。理解できました。
このケースでもやはりinterp1関数で大丈夫です。
x = 1:20;
y = [71
71.66035
72.64257
73.40705
74.29461
75.0875
75.84253
76.76797
77.58928
78.50525
79.26976
80.09108
80.884
81.64853
82.46986
83.29119
83.92319
84.71614
85.38601
86];
xq = linspace(1,20,13); % オリジナルデータの範囲で13点をリサンプル
yq = interp1(x,y,xq);
figure;
plot(x,y,'b-o',xq,yq,'rx');
内挿方法は選べるようになってるので、目的に応じて選んでください。
健気 大川
健気 大川 am 22 Okt. 2021
お忙しい中詳しく教えて頂きありがとうございました。無事解決いたしました。

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!