lsline
solo está disponible en Statistics Toolbox, ¿tiene la caja de herramientas de estadísticas? Una solución más general podría ser usar polyfit
.
Debe usar polyfit
para ajustar una línea a sus datos. Suponga que tiene algunos datos en y
y tiene valores de dominio correspondientes en x
, (es decir, tiene datos que se aproximan a y = f(x)
para arbitraria f
) entonces se puede ajustar una curva lineal como sigue:
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;
Tenga en cuenta que si desea ajuste un polinomio arbitrario a sus datos, puede hacerlo cambiando el último parámetro de polyfit para que sea la dimensionalidad de curvefit. Supongamos que llamamos esta dimensión d
, recibirá de vuelta d+1
coeficientes en p
, que representan una conformación polinomio a una estimación de f(x)
:
f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)
Editar, como se señala en un comentario también se puede utilizar para calcular polyval
r
, su sintaxis le gustaría como esto:
r = polyval(p, x);
Podría publicar su código exacto? scatter (x1, x2) seguido de lsline funciona bien para mí ... – 3lectrologos
¿Cómo puede ser que esto "no esté relacionado con la programación" ... – Rook