Линия наилучшего рассеяния - PullRequest
8 голосов
/ 08 января 2010

Я пытаюсь создать график рассеяния с линией наилучшего соответствия в Matlab. Я могу получить график рассеяния, используя либо разброс (x1, x2), либо график рассеяния (x1, x2), но базовая опция подгонки затенена и lsline возвращает ошибку: «Разрешенные типы линий не найдены. Ничего не сделано '

Любая помощь будет великолепна,

Спасибо, Jon.

Ответы [ 2 ]

22 голосов
/ 08 января 2010

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)

Редактировать, как отмечено в комментарии, вы также можете использовать polyval для вычисления r, его синтаксис будет выглядеть так:

r = polyval(p, x);
0 голосов
/ 12 августа 2013

Infs, NaNs и мнимые части комплексных чисел игнорируются в данных.

Curve Fitting Tool предоставляет гибкий графический интерфейс пользователя, где вы можете в интерактивном режиме подгонять кривые и поверхности к данным и графикам. Вы можете:

Создание, построение и сравнение нескольких подгонок

Использовать линейную или нелинейную регрессию, интерполяцию, регрессию локального сглаживания или пользовательские уравнения

Просмотр статистики соответствия, отображение доверительных интервалов и остатков, удаление выбросов и оценка совпадений с данными проверки

Автоматически генерировать код для подгонки и построения поверхностей или экспортировать подгонки в рабочее пространство для дальнейшего анализа

...