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

0 Stimmen

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

0 Stimmen

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

0 Stimmen

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 Hilfe-Center und File Exchange

Gefragt:

am 15 Okt. 2013

Beantwortet:

am 18 Okt. 2013

Community Treasure Hunt

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

Start Hunting!

Translated by