J'essaie de faire un nuage de points avec une ligne de meilleur ajustement dans matlab. Je peux obtenir un nuage de points en utilisant soit scatter (x1, x2), soit un diagramme de dispersion (x1, x2), mais l'option d'ajustement de base est ombrée et la ligne est renvoyée. l'erreur 'Aucun type de ligne autorisé trouvé. Rien fait '
Toute aide est la bienvenue,
Merci, Jon.
lsline
est uniquement disponible dans la boîte à outils Statistiques. Avez-vous la boîte à outils Statistiques? Une solution plus générale pourrait être d'utiliser polyfit
.
Vous devez utiliser polyfit
pour adapter une ligne à vos données. Supposons que vous ayez des données dans y
et que vous ayez les valeurs de domaine correspondantes dans x
(c'est-à-dire que vous avez des données se rapprochant de y = f(x)
pour f
arbitraire), alors vous pouvez ajuster une courbe linéaire comme suit:
p = polyfit(x,y,1); % p returns 2 coefficients fitting r = a_1 * x + a_2
r = p(1) .* x + p(2); % compute a new vector r that has matching datapoints in x
% now plot both the points in y and the curve fit in r
plot(x, y, 'x');
hold on;
plot(x, r, '-');
hold off;
Notez que si vous souhaitez adapter un polynôme arbitraire à vos données, vous pouvez le faire en modifiant le dernier paramètre de polyfit afin qu'il corresponde à la dimensionnalité du curvefit. Supposons que nous appelions cette dimension d
, vous recevrez des coefficients d+1
dans p
, qui représentent un polynôme conforme à une estimation de f(x)
:
f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)
Modifier, comme indiqué dans un commentaire, vous pouvez également utiliser polyval
pour calculer r
, sa syntaxe ressemble à ceci:
r = polyval(p, x);
Les Infs, les NaN et les parties imaginaires de nombres complexes sont ignorés dans les données.
L'outil d'ajustement de courbe fournit une interface utilisateur graphique flexible permettant d'ajuster de manière interactive les courbes et les surfaces aux données et aux graphiques. Vous pouvez:
Créer, tracer et comparer plusieurs ajustements
Utiliser une régression linéaire ou non linéaire, une interpolation, une régression de lissage local ou des équations personnalisées
Consultez les statistiques de qualité de l'ajustement, affichez les intervalles de confiance et les résidus, supprimez les valeurs aberrantes et évaluez les ajustements avec les données de validation.
Générer automatiquement du code pour ajuster et tracer des surfaces, ou exporter des ajustements vers un espace de travail pour une analyse ultérieure