resample matrix by distance

2 ビュー (過去 30 日間)
Dion Theunissen
Dion Theunissen 2021 年 1 月 22 日
コメント済み: Bjorn Gustavsson 2021 年 1 月 22 日
I need to resample a matrix [x,y,z,rad,dist] by the distance. This is a non constant frequency.
I want a frequency of 0,1 mm per sample. For now i have a distance of 162,2 mm over 118 samples, but this can vary by every single file.
I want an automatic file which resamples the matrix to a sample frequency of 0.1 mm per sample.
Can I maybe make a for loop with the resample method? And how should it look like?

採用された回答

Bjorn Gustavsson
Bjorn Gustavsson 2021 年 1 月 22 日
編集済み: Bjorn Gustavsson 2021 年 1 月 22 日
Since you have approximately 1.5 mm between samples on average you will have to do some re-interpolation of your data. This works provided the assumption that the interpolation-scheme is reasonable for your data. That is up for you to check/verify/demonstrate/argue/show/assume. This can be done something like this:
sample_dist = your_data(:,5);
dist_interp = min(sample_dist):0.1:max(sample_dist);
if dist_interp(end) < max(sample_dist)
dist_interp(end+1) = max(sample_dist);
end
data_reinterp = interp1(sample_dist,your_data,dist_interp,'pchip');
This works provided dist varies monotonically.
HTH
  2 件のコメント
Dion Theunissen
Dion Theunissen 2021 年 1 月 22 日
Thanks HTH,
It looks like im close but the export file (data_reinterp) is still a 118x5 file.
Do I need to couple it with the dist_interp on a way?
Thanks in advance.
Bjorn Gustavsson
Bjorn Gustavsson 2021 年 1 月 22 日
OK, fixed the copy-n-paste error...

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeMultirate Signal Processing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by