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);
Pouvez-vous publier votre code exact? dispersion (x1, x2), suivi par lsline fonctionne bien pour moi ... – 3lectrologos
Comment est-ce « non programmation liée » est au-delà de moi ... – Rook