How to Interpolate *between* 2D matrices

조회 수: 20 (최근 30일)
Warren
Warren 2011년 1월 31일
댓글: the cyclist 2014년 2월 12일
I think this is an easy question, but my attempts so far have been frustrated. I have a series of 2D (1300x1500) regularly spaced matrices (basically change over time). I want to interpolate between these to create additional 2D matrices that will be intermediates between the others. I am sure that griddata3 should be able to do this, but I can't get it to work.
  댓글 수: 2
Jos (10584)
Jos (10584) 2014년 2월 12일
Assume you have two very simple 2D matrices that make up the series
A1 = [2 0 0]
A3 = [0 0 2]
What should an intermediate matrix, A2, look like?
[1 0 1]
[0 2 0]
??
Mahi Nazir
Mahi Nazir 2014년 2월 12일
Hi Jos This question has been answered.. The new question is in my comment below

댓글을 달려면 로그인하십시오.

채택된 답변

the cyclist
the cyclist 2011년 1월 31일
Are you only doing interpolation along the time dimension? I think you should be able to use interp1.
Assuming you have N time slices, then you can first concatenate the arrays you have, then permute (because interp1 has to have interpolated dimension first), then interpolate:
% Your 2D arrays:
x1 = [1 2; 3 4];
x2 = [2 3; 4 5];
% Concatenate:
x = cat(3,x1,x2);
% Permute to get interpolated dimension first:
x = permute(x,[3 1 2])
% Define arbitrary unit for time slices:
t0 = [1 2];
% Interpolate to time slice at t=1.5:
x_interp = interp1(t0,x,1.5)
I see that your input 2D arrays are quite large, so you may need to do this in chunks.
[griddata3 is a deprecated function, and you probably don't want to use it.]
  댓글 수: 3
Mahi Nazir
Mahi Nazir 2014년 2월 12일
편집: Mahi Nazir 2014년 2월 12일
Hi I am also looking for interpolation between 4 matrices but my matrices change along the coordinates (x,y) and NOT along just one dimension t.... Do I need to use interp2? I have to use 4 way interpolation? Kindly help.
Thanks
the cyclist
the cyclist 2014년 2월 12일
I strongly suggest you open a new question, not bury it within a comment of a 3-year-old, already-answered question, where very few people will see it. (It was a random stroke of luck that I happened to notice this.)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Interpolation에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by