Interpolation sous matlabe

Fermé
alex - 25 janv. 2010 à 19:29
 alex - 25 janv. 2010 à 20:15
Bonjour,
je viens de créer un programme sous matlab pour trouver une solution de l'interpolation et voila mon programme :
****************************************************
f=[0 0.010 0.015 0.020 0.025 0.030];
T=300:+100:1800;
m=[1.009 1.018 1.023 1.027 1.031 1.036; 1.020 1.031 1.037 1.043 1.048 1.054; 1.038 1.052 1.058 1.064 1.071 1.077; 1.060 1.075 1.082 1.089 1.096 1.104; 1.084 1.100 1.108 1.115 1.123 1.131; 1.107 1.124 1.133 1.141 1.149 1.157;1.129 1.148 1.156 1.165 1.174 1.183; 1.150 1.169 1.178 1.188 1.197 1.206; 1.168 1.188 1.198 1.208 1.218 1.227; 1.194 1.205 1.216 1.226 1.236 1.246; 1.199 1.221 1.231 1.242 1.253 1.263; 1.211 1.234 1.245 1.256 1.267 1.278; 1.222 1.246 1.257 1.269 1.280 1.292; 1.232 1.256 1.268 1.280 1.292 1.303; 1.240 1.265 1.278 1.290 1.302 1.314; 1.248 1.274 1.286 1.299 1.311 1.323];
A= input('entrer f:');
B=input('entrer T:');
while A>=300 && A<=1800 && B<=0.030
for k=1:16
for l=1:6
if B==T(k)&& A==f(l)

n= m(k,l)
printf(' la valeur de Cp est : %f', n);
else

if (A==f(l) && B<=T(k+1) && B>=T(k))
F=(m(k+1,l)-m(k,l))/(T(k+1)-T(k))*(B-T(k))+m(k,l)
printf('la valeur de Cp est :%f', F);

else
if (A<=f(l+1) && A>=f(l) && B==T(k) )
D=(m(k,l)-m(k,l+1))/(f(l)-f(l+1))*(A-f(l))+m(k+1,l)
printf('la valeur de Cp est :%f', D);
else

if ( B<=T(k+1) && A>=f(l) && A<=f(l+1))
R=(D-F)/(f(l+1)-f(l))*(f(l+1)-A)+F
printf('la valeur de Cp est :%f', R);
end
end
end
end
end
end
end
end
**************************************

en effet, je souhaite corriger ce programme pour me donner la valeur exacte:
Pour trouver une valeur X, qui n’exista pas dans la table mais existe dans un intervalle de f, je souhaite faire une interpolation voici la formule :
X=((1.020-1.009)/(400-300))*(350-300) + 1.009 ;

s'il y a quelqu'un qui connait une fonction intégré dans matlab et pourra faciliter cette tache, je serai tres reconnaissant, sinon je souhaite seulement corrigé mon programme.

Merci d'avance.

1 réponse

je cherche encor
0