How to write function in matlab
4 views (last 30 days)
Show older comments
Hi all,
Dose any body knows how to write interpolation function (interp2) instead of using its command on matlab?
Best regards,
2 Comments
Titus Edelhofer
on 21 Jul 2015
Probably yes :). Maybe you explain the purpose of doing so? Fun, homework, missing functionality? Is using interp1 for doing this fine...? etc...?
Titus
John D'Errico
on 21 Jul 2015
There are codes on the file exchange for interpolation. Why not use one of them?
Yes, of course it is possible to write your own interpolation code. But if your goal is to use a home grown code instead of one professionally written, this is a poor choice. And if your goal is to merely learn how to do interpolation, then do some reading. Learn about interpolation methods.
If you have some other obscure reason, then why not tell us? We might be able to offer better advice if we know what you are doing and why.
Answers (3)
Torsten
on 21 Jul 2015
A starting point :
https://en.wikipedia.org/wiki/Bilinear_interpolation
Best wishes
Torsten.
0 Comments
addou abdeljalil
on 21 Jul 2015
m1 =E2(1:4) ; r1 =F2_pixel(1:4) ;
m2 =E2(4:16) ; r2 =F2_pixel(4:16) ;
p1 = polyfit(m1,r1,2) ; % interpolation degre 2
p2 = polyfit(m2,r2,3) ; % interpolation degre 3
y1 = polyval(p1,m1);
y2 = polyval(p2,m2);
plot(E2(1:16),F2(1:16),'o',m1,y1,'r-',m2,y2,'g-')
legend('...');
xlabel ('E2');
ylabel('F2');
title('.......................')
1 Comment
John D'Errico
on 21 Jul 2015
But this is NOT interpolation. It is NOT a replacement for interp2. Not even close.
Alex Taylor
on 21 Jul 2015
The relevant question that everyone wants to know the answer to is:
What is your reason for needing to know how to solve this problem without using interp2 in MATLAB?
I think if you answer this question, it will help everyone understand what exactly your requirements are for whatever it is you are doing. Unless there is some compelling reason why you don't want to use interp2, everyone is going to suggest using interp2 because you are unlikely to write a faster or more memory efficient 2-D interpolation routine yourself, especially if you are using a recent version of MATLAB.
I have answered a variation of this question in the past on how to do log-polar transformations of images, in your case it looks like you want a polar->cartesian transformation, but the idea is the same. However, in my answer, I used interp2.
1 Comment
See Also
Categories
Find more on Interpolation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!