How do I linearly resample data?

18 ビュー (過去 30 日間)
Justin Berquist
Justin Berquist 2016 年 5 月 4 日
コメント済み: Chad Greene 2016 年 5 月 4 日
I would like to linearly resample a matrix. For example if A = [0,0;5,10;10,20] I would like to resample it such that B = [0,0;1,2;2,4;3,6;4,8;5,10;6,12;7,14;8,16;9,18;10,20]
B =
0 0
1 2
2 4
3 6
4 8
5 10
6 12
7 14
8 16
9 18
10 20
I originally thought that this is what the resample function did, but upon further analysis I was wrong. Please keep in mind that I am doing this for large sensor files, files which contain data for weeks at 5 minute timesteps.
Thank you for any help

回答 (2 件)

Chad Greene
Chad Greene 2016 年 5 月 4 日
A = [0,0;5,10;10,20];
B(:,1) = 1:10;
B(:,2) = interp1(A(:,1),A(:,2),B(:,1),'linear')
B =
1.00 2.00
2.00 4.00
3.00 6.00
4.00 8.00
5.00 10.00
6.00 12.00
7.00 14.00
8.00 16.00
9.00 18.00
10.00 20.00
  2 件のコメント
Justin Berquist
Justin Berquist 2016 年 5 月 4 日
That was just an example, I need to do it for a scenario where A is a 2xn matrix and the values within are not known. How would I go about that?
Thank you
Chad Greene
Chad Greene 2016 年 5 月 4 日
Which values are unknown?

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


Star Strider
Star Strider 2016 年 5 月 4 日
You can certainly use the resample function. You simply have to create a timeseries object from your data.
  3 件のコメント
Justin Berquist
Justin Berquist 2016 年 5 月 4 日
When i simply do A = resample(A,5,1) my data is not linearly aligned
Star Strider
Star Strider 2016 年 5 月 4 日
I would have to see your ‘Canal5208RadiatorT_out.csv’ file. If your data are regularly sampled (fixed sampling interval), linearly interpolating it is straightforward, using the linspace function, for instance, to generate the ‘query’ vector. If it’s not regularly-sampled, this becomes more difficult, because four points in every individual interval have to be created.

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

カテゴリ

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