Using interp1 to interpolate y values

Hi,
I am attempting to interpolate my y values array instead of my x values.
Data: (y : 35x1534 double) (x: 35x1 double) (ny= 35x46 double)
newy = interp1(y,x,ny);
Hoping to have an output which is
newy : 35x46 double
However it returns with dimension errors. Is it possible to interpolate my y values to my ny values or would this not be possible?
Thanks.

3 件のコメント

Image Analyst
Image Analyst 2019 年 3 月 3 日
Why do you not have an x for every y? Wht are the ny values? Can you attach your matrices in a.mat file?
Kelly
Kelly 2019 年 3 月 3 日
I dont know if it is possible but I am trying make y the same dimensions as ny and I thought I could perhaps do this via interp1. I have attached the data.
Cris LaPierre
Cris LaPierre 2019 年 3 月 4 日
編集済み: Cris LaPierre 2019 年 3 月 4 日
I don't think interpolating is going to work for you. Interpolation requires your data cover the same range of values just sampled at different intervals. Besides both having 35 rows, I don't see any sort of overlap in your data.
Here's your Y data (35x1534)
Here's your NY data (35x46)

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

 採用された回答

Cris LaPierre
Cris LaPierre 2019 年 3 月 4 日
編集済み: Cris LaPierre 2019 年 3 月 4 日

1 投票

Since interpolating your data doesn't make sense to me, I suggest trying to downsample y instead.
idx46 = round(linspace(1,1534,46));
newy = y(:,idx46)

1 件のコメント

Kelly
Kelly 2019 年 3 月 4 日
Yes this has worked, thank you so much!

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

その他の回答 (0 件)

カテゴリ

タグ

質問済み:

2019 年 3 月 3 日

コメント済み:

2019 年 3 月 4 日

Community Treasure Hunt

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

Start Hunting!

Translated by