How to write function in matlab
3 次查看(过去 30 天)
显示 更早的评论
Hi all,
Dose any body knows how to write interpolation function (interp2) instead of using its command on matlab?
Best regards,
2 个评论
Titus Edelhofer
2015-7-21
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
2015-7-21
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.
回答(3 个)
Torsten
2015-7-21
A starting point :
https://en.wikipedia.org/wiki/Bilinear_interpolation
Best wishes
Torsten.
0 个评论
addou abdeljalil
2015-7-21
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 个评论
John D'Errico
2015-7-21
But this is NOT interpolation. It is NOT a replacement for interp2. Not even close.
Alex Taylor
2015-7-21
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 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!