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 Kommentare

Image Analyst
Image Analyst am 3 Mär. 2019
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 am 3 Mär. 2019
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 am 4 Mär. 2019
Bearbeitet: Cris LaPierre am 4 Mär. 2019
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)

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Cris LaPierre
Cris LaPierre am 4 Mär. 2019
Bearbeitet: Cris LaPierre am 4 Mär. 2019

1 Stimme

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)

Weitere Antworten (0)

Tags

Gefragt:

am 3 Mär. 2019

Kommentiert:

am 4 Mär. 2019

Community Treasure Hunt

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

Start Hunting!

Translated by