How to interpolate these values?

Hi everyone. I have a table like this:
Well, I have to calculate for example the value for (ALFA = 14,2-CD=150) that there isn't in this table. I tried to calculate the equation in Excel with polynomial regression and also with INTERP in Matlab but it isn't accurate. I don't know where I am wrong. Can you help me? Thanks a lot.

3 comentarios

Matt J
Matt J el 25 de En. de 2013
By the way, commas for decimals, e.g., ALFA = 14,2 are very prone to confusion in MATLAB forums since commas are used in MATLAB for other things.
Jan
Jan el 25 de En. de 2013
Please show us, how you use INTERP. Otherwise we cannot guess what's going wrong.
Giacomo
Giacomo el 25 de En. de 2013
I know. I'm sorry..

Iniciar sesión para comentar.

Respuestas (3)

Matt J
Matt J el 25 de En. de 2013

0 votos

You should use INTERP2 or griddedInterpolant.

2 comentarios

Giacomo
Giacomo el 25 de En. de 2013
Ok, let's try.
Matt J
Matt J el 25 de En. de 2013
Editada: Matt J el 25 de En. de 2013
Glad it worked. You may not be aware of the practice of Accepting answers. Please accept this one if it was what you needed.

Iniciar sesión para comentar.

Giacomo
Giacomo el 25 de En. de 2013
Editada: Giacomo el 25 de En. de 2013

0 votos

Ok, I wrote:
load cl.txt
alfa=cl(2:61,1);
Reynolds=cl(1,2:8);
values=cl(2:61,2:8);
And if I ask
CL(150,14.2)= interp2(Reynolds,alfa,values,150,14.2)
it returns the right value. The new problem is that I have two matrices 17x11, Alpha and Re. Now, I have to calculate CL matrix (17x11) where (i,j) elements are calculated combined the (i,j) values of Alpha and Re through INTERP2 command.
Suggestions?
Giacomo
Giacomo el 25 de En. de 2013

0 votos

I tried with:
for i=1:length(r)
for j=1:n+1
CL(i,j) = interp2(Reynolds,alfa,values,Re(i,j),alpha(i,j));
end
end
and seems work.
Thank you, Matt.

1 comentario

Matt J
Matt J el 25 de En. de 2013
You could also have done it with a single call to INTERP2 (which is faster) by doing
idx=sub2ind(size(Re),1:length(r),1:n+1);
CL(idx) = interp2(Reynolds,alfa,values,Re(idx),alpha(idx));

Iniciar sesión para comentar.

Categorías

Más información sobre Interpolation en Centro de ayuda y File Exchange.

Preguntada:

el 25 de En. de 2013

Community Treasure Hunt

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

Start Hunting!

Translated by