I have a matrix with 30*12 dimension. I just want to interpolate the vertical dimension and keep the row constant. How can I do that with interp1? It should be 1200*12. And is there any other function that does the interpolation with not just linearly?

 Accepted Answer

KSSV
KSSV on 7 Jan 2018
Have a look on imresize.

6 Comments

I do not want just resize the matrix. I want to interpolate it! I did sth like this xi = 1:0.2:900; Data1 = interp1(Data,xi); Data1=Data1(1:1200,1:12); but that is not accurate interpolation.
Stephen23
Stephen23 on 7 Jan 2018
Edited: Stephen23 on 7 Jan 2018
"but that is not accurate interpolation."
What is "accurate interpolation" ? What do you expect to get?
As I understood Matlab uses linear interpolation. I just want to have a more complex interpolation like cubic formula or sth like that. I have to matrices that one of them is 1200*12 and the other one is 30*12. I want to interpolate this 30*12 in a way that its sum of squares of these two matrices become very low! Thanks, in advance.
"As I understood Matlab uses linear interpolation."
When you read the interp1 help then you will learn about the different kinds of interpolation that MATLAB supports. Reading the documentation is much more reliable than guessing to know how MATLAB works.
@Seyed: Images are resized by interpolating them.
"like cubic formula or sth like that" - please be specific. It is your turn to explain, what you want.
Ok, got it. Thanks a lot, both of you Stephen Cobeldick and Jan Simon.

Sign in to comment.

More Answers (0)

Categories

Find more on Interpolation in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!