Filter löschen
Filter löschen

Column-wise interpolation of an NxM matrix?

13 Ansichten (letzte 30 Tage)
D G
D G am 16 Jul. 2012
Hi!
I'm wondering if it is possible to interpolate column-wise along an NxM matrix.
Previous size were:
x = 1x200
Y = 1x200
xi = 1x200
New values are
x = 1x200
Y = 10x200
xi = 1x200
I have a loop that does it now, but would prefer to vectorize it as long as it is readable.
Thanks!
  1 Kommentar
Jan
Jan am 16 Jul. 2012
How do you "interpolate" along a singelton dimension? Could post your loop method - by editing the question, not as comment or answer?

Melden Sie sich an, um zu kommentieren.

Antworten (3)

Sean de Wolski
Sean de Wolski am 16 Jul. 2012
Sure:
doc interp1
  4 Kommentare
D G
D G am 16 Jul. 2012
Try this:
y = magic(10);
x = (1:20)';
xi = linspace(1,10,50)';
interp1(x,y,xi, 'linear', 'extrap');
Why would this fail?
Teja Muppirala
Teja Muppirala am 17 Jul. 2012
That fails because y has 10 values, and your x has 20 values. But as Sean said, INTERP1 works perfectly fine. Just transpose your data first:
Yi = interp1(x',Y',xi','linear','extrap')';

Melden Sie sich an, um zu kommentieren.


Doug Hull
Doug Hull am 16 Jul. 2012
Why do you want to vectorize it?
If it is working, and it is apparently readable, wouldn't your time be better spent on other aspects of the code?
  1 Kommentar
D G
D G am 16 Jul. 2012
The code has a lot of repetitions in our calculations.

Melden Sie sich an, um zu kommentieren.


Jan
Jan am 16 Jul. 2012
A faster implementation than INTERP1: FEX: ScaleTime.

Kategorien

Mehr zu Interpolation 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!

Translated by