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

조회 수: 9 (최근 30일)
健気 大川
健気 大川 2021년 10월 21일
댓글: 健気 大川 2021년 10월 22일
等間隔ではないデータのリサンプリングを行いたいです。例えば、下記のようなデータ(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!