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

2 次查看(过去 30 天)
健気 大川
健気 大川 2021-10-21
等間隔ではないデータのリサンプリングを行いたいです。例えば、下記のようなデータ(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 个评论
健気 大川
健気 大川 2021-10-21
リサンプリング後も最初(71)と最後(86)は固定したいです

请先登录,再进行评论。

采纳的回答

Shunichi Kusano
Shunichi Kusano 2021-10-21
编辑:Shunichi Kusano 2021-10-21
そのような不等間隔なxに対して何らか測定値yがある、ということでしょうか?
そういう状況の場合、interp1関数をお使いください。サンプリング点はlinspace関数で作ることができます。
% 参考
% x <= 不等間隔なサンプリング点
% y <= xでの計測値
yq = interp1(x,y,linspace(x(1),x(end),13)); % 内挿
  3 个评论
Shunichi Kusano
Shunichi Kusano 2021-10-22
詳細補足いただきありがとうございます。理解できました。
このケースでもやはり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');
内挿方法は選べるようになってるので、目的に応じて選んでください。
健気 大川
健気 大川 2021-10-22
お忙しい中詳しく教えて頂きありがとうございました。無事解決いたしました。

请先登录,再进行评论。

更多回答(0 个)

Community Treasure Hunt

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

Start Hunting!