リサンプリング後も最初(71)と最後(86)は固定したいです
データのリサンプリングについて
10 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
健気 大川
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
Akzeptierte Antwort
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
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');
内挿方法は選べるようになってるので、目的に応じて選んでください。
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu マルチレート信号処理 finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!