polyfit
R2026bAjuster des courbes polynomiales
Syntaxe
Description
[ offre la possibilité d’appliquer une normalisation lors de l’ajustement. Si vous définissez coeffs,fitStats,centerScale] = polyfit(x,y,n,Normalize=tf)Normalize sur true, polyfit centre x sur 0 et le met à l’échelle pour obtenir un écart-type égal à 1 conformément à la transformation Dans ce cas, polyfit renvoie également la sortie centerScale sous forme de vecteur à deux éléments contenant les valeurs de centre et de mise à l’échelle, à savoir mean(x) et std(x). Si vous définissez Normalize sur false, polyfit ne transforme pas x, et centerScale est un vecteur à deux éléments contenant les valeurs 0 et 1. (depuis R2026b)
Avant la version R2026b : la normalisation est contrôlée de manière implicite par le nombre d’arguments en sortie. Le renvoi d’un troisième argument en sortie active automatiquement la normalisation. Consultez Historique des versions pour plus d’informations.
Exemples
Arguments d'entrée
Arguments de sortie
Limitations
Pour les problèmes comportant de nombreux points, l’augmentation du degré de l’ajustement polynomial via
polyfitne permet pas toujours d’obtenir une meilleure correspondance. Les polynômes d’ordre élevé peuvent osciller entre les points de données, ce qui produit un mauvais ajustement aux données. Dans de tels cas, vous pouvez utiliser un ajustement polynomiale d’ordre inférieur (qui tend à être plus lisse entre les points) ou une technique différente, en fonction du problème.Par nature, les polynômes sont des fonctions oscillantes non bornées. Elles ne sont donc pas adaptées à l’extrapolation de données bornées ou de données monotones (toujours croissantes ou toujours décroissantes).
Algorithmes
polyfit utilise x pour former une matrice de Vandermonde V avec n+1 colonnes et m = length(x) lignes, ce qui donne le système linéaire
que polyfit résout avec coeffs = V\y. Puisque les colonnes de la matrice de Vandermonde sont des puissances du vecteur x, le nombre de conditions de V est souvent élevé pour les correspondances d’ordre élevé, ce qui se traduit par une matrice de coefficients singulière. Dans de tels cas, le fait de spécifier Normalize=true peut améliorer les propriétés numériques du système et produire un ajustement plus fiable.





