Le code pour l'interpolation dans MATLAB

June 3

MATLAB est un logiciel mathématique sophistiqué qui peut mener à l'arithmétique, le calcul et des centaines d'autres applications mathématiques - y compris l'interpolation linéaire, ou l'art de déterminer une valeur indirecte fondée sur d'autres données. Si une table ne vous dit que l'air de 40 degrés a une pression de 70 unités et de l'air de 50 degrés a une pression de 92 unités, l'interpolation est de trouver la pression d'air à 44 degrés.

La méthode directe

La méthode directe d'interpolation comporte plusieurs étapes de calcul. En utilisant l'exemple de l'introduction:
"Dt = 50-40" est la gamme de températures de la table.
"Dp = 92-70" est la gamme de pressions de la table.
"Dt1 = (44-40) / dt" est la fraction la gamme de températures de la température en question.
"Réponse = dt1 * dp + 70" est la même fraction le long de la plage ajoutée à la basse pression dans la table de pression; et il est la réponse. Dans cet exemple, il est de 78,8 unités de pression.

MATLAB interpolation linéaire

Matlab comprend une fonction qui peut accomplir les quatre calculs de la section précédente simultanément. Il est la fonction "interp1" et il fera vos calculs simples. En utilisant l'exemple d'avant, assurer la fonction de interp1 la plage de pression, la plage de température et la température en question et il vous donnera la réponse de pression en une seule étape. Entrez ce code à l'invite de MATLAB:

réponse = interp1 ([40 50], [70 92], 44)

MATLAB répondra avec "réponse = 78,8000", qui correspond au résultat de la section précédente.

Le plus proche voisin de l'interpolation

La fonction de interp1 de MATLAB propose plusieurs méthodes pour effectuer une interpolation. Linéaire est la méthode par défaut. Cependant, supposons que, au lieu de simplement les numéros 40 et 50, vous avez eu des valeurs de température pour tous les entiers entre 40 et 50. Supposons également que vous avez des valeurs de pression correspondantes entières seulement pour chaque valeur de la température dans votre table. Si vous utilisez la méthode du «plus proche voisin», MATLAB ne vous donnera pas une valeur exacte - il vous indique à la place la réponse la plus proche dans le tableau. Code dans le format suivant accomplit ceci:

réponse = interp1 ([valeurs temporaires], [valeurs de pression], 43.4, «le plus proche»)

Cubic Spline Interpolation

spline cubique est une autre méthode d'interpolation de la fonction interp1 ou l'interpolation autonome fonction "spline" peuvent effectuer. Au lieu de donner une valeur unique pour le troisième argument de la fonction, lui donner une fourchette de valeurs à l'intérieur de la première plage (températures dans le tableau). La fonction spline renverra une plage correspondante à l'intérieur de la deuxième plage (pressions dans le tableau). Vous pouvez utiliser le code dans le format suivant pour extraire la gamme de pressions correspondant à une sous-gamme de températures:

réponse = spline ([Plage de température], [intervalle de pression], [sous-gamme de temp])


          

Post a comment: