lsline
доступен только в панели инструментов статистики, есть ли у вас панель инструментов статистики? Более общим решением может быть использование polyfit
.
Вам необходимо использовать polyfit
, чтобы подогнать строку к вашим данным. Предположим, у вас есть какие-то данные в y
и у вас есть соответствующие значения домена в x
(то есть у вас есть данные, аппроксимирующие y = f(x)
для произвольного f
), то вы можете поместить линейную кривую следующим образом:
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;
Обратите внимание, что если вы хотите подберите произвольный многочлен для ваших данных, вы можете сделать это, изменив последний параметр polyfit на размерность кривой. Предположим, что мы называем это измерение d
, вы получите обратно d+1
коэффициенты p
, которые представляют собой полином, соответствующую оценку f(x)
:
f(x) = p(1) * x^d + p(2) * x^(d-1) + ... + p(d)*x + p(d+1)
Edit, как отмечено в комментарии вы можете также использовать polyval
для вычисления r
, его синтаксис хотел бы так:
r = polyval(p, x);
Не могли бы вы опубликовать ваш точный код? разброс (x1, x2), за которым следует lsline, работает нормально для меня ... – 3lectrologos
Как этот «не связанный с программированием» находится вне меня ... – Rook