2010-01-08 11 views
7

Je suis en train de faire un diagramme de dispersion avec une ligne de meilleur ajustement dans Matlab, je peux obtenir un nuage de points en utilisant soit la dispersion (x1, x2) ou nuage de points (x1, x2), mais la L'option d'adaptation de base est ombrée et lsline renvoie l'erreur 'Aucun type de ligne autorisé trouvé. Rien n'a été fait »ligne de meilleur diagramme de dispersion en forme

Toute aide serait grande,

Merci, Jon.

+0

Pouvez-vous publier votre code exact? dispersion (x1, x2), suivi par lsline fonctionne bien pour moi ... – 3lectrologos

+3

Comment est-ce « non programmation liée » est au-delà de moi ... – Rook

Répondre

21

lsline est uniquement disponible dans la boîte à outils statistiques, avez-vous la boîte à outils de statistiques? Une solution plus générale pourrait être d'utiliser polyfit.

Vous devez utiliser polyfit pour tenir une ligne à vos données. Supposons que vous ayez des données dans y et vous avez des valeurs de domaine correspondant à x, (vous avez des données approximation y = f(x) pour arbitraire f), 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 voulez adapter un polynôme arbitraire à vos données, vous pouvez le faire en changeant le dernier paramètre de polyfit pour être la dimensionnalité du curvefit. Supposons que nous appelons cette dimension d, vous recevrez de nouveau d+1 coefficients 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 voudrait comme ceci:

r = polyval(p, x); 
+6

vous pouvez utiliser ** Polyval ** pour vous aider à évaluer le polynôme – Amro

+0

@Amro I avoir le même problème pour trouver la meilleure ligne. Êtes-vous sûr que la réponse est correcte? Je ne suis pas sûr parce que je pense que si la ligne de meilleur ajustement est sélectionnée correctement, le nombre de points au-dessus de la ligne doit être égal au nombre de points sous la ligne, est-ce exact? Je ne suis pas sûr, quelle est votre idée? – Fatime

+0

@MarkElliot Quelle est votre idée sur mon commentaire ci-dessus? – Fatime

0

Infs, Nans et imaginaryparts de nombres complexes sont ignorés dans les données.

Curve Outil d'assemblage fournit une interface utilisateur graphique souple interfacewhere possible ajustement des courbes et des surfaces de manière interactive aux données et viewplots. Vous pouvez:

Créer, tracer et comparer plusieurs crises

Utilisez régression linéaire ou non linéaire, interpolation, régression de lissage local, ou sur mesure équations

Voir les statistiques de qualité d'ajustement, affichage confidenceintervals et résidus , supprimer les valeurs aberrantes et d'évaluer avec fits validationdata

générer automatiquement le code pour le montage et plottingsurfaces, ou l'exportation correspond à l'espace de travail pour une analyse ultérieure

Questions connexes