interpolating row data in a matrix

18 Ansichten (letzte 30 Tage)
Natalie
Natalie am 15 Okt. 2013
Beantwortet: Natalie am 18 Okt. 2013
I have a large set of data that I need to linearly interpolate evenly by a factor of 22. The way that the data is organised means that the each row of data needs to be interpolated instead of each column, how do I make it so that rows of data are interpolated instead of columns?

Akzeptierte Antwort

Natalie
Natalie am 18 Okt. 2013
Sat down with someone and worked it out together:
num_rows = length(a); num_columns = 22;
b = zeros(num_rows,num_columns); c = zeros(num_rows,num_columns);
for i = 1:num_rows
count = a(i,13);
int_c(i,:) = (0:1/(num_columns - 1):1)*c(i,count);
int_b(i,:) = interp1(b(i,1:count), b(i,1:count), new_thick(i,:),'spline');
end
end

Weitere Antworten (2)

Walter Roberson
Walter Roberson am 15 Okt. 2013
newV = interp1(X, V.', newX) .';
  1 Kommentar
Natalie
Natalie am 16 Okt. 2013
Sorry, forgot to mention that there are a bunch of Nan values so this doesn't work

Melden Sie sich an, um zu kommentieren.


Youssef  Khmou
Youssef Khmou am 15 Okt. 2013
large data means down sampling?
If it is the other case, you can interpolate row by row as in this example :
r=randn(30);
for n=1:30
G(n,:)=interp(r(n,:),22);
end
  1 Kommentar
Natalie
Natalie am 16 Okt. 2013
Sorry what I meant by large data I meant large in size, about 1000 rows and 100 columns. I wish to interpolate the data along the rows not columns, so interpolate the data present in each column of a row. Also I forgot to mention that there is also the problem of a lot of Nan values

Melden Sie sich an, um zu kommentieren.

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