2010-01-08 3 views
7

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

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

Спасибо, Джон.

+0

Не могли бы вы опубликовать ваш точный код? разброс (x1, x2), за которым следует lsline, работает нормально для меня ... – 3lectrologos

+3

Как этот «не связанный с программированием» находится вне меня ... – Rook

ответ

21

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); 
+6

вы можете использовать ** polyval **, чтобы помочь вам оценить многочлен – Amro

+0

@Amro I имеют ту же самую проблему, чтобы найти линию наилучшего соответствия. Вы уверены, что ответ правильный? Я не уверен, потому что думаю, что если линия наилучшего соответствия выбрана правильно, количество точек над линией должно быть равно количеству точек под линией, правильно? Я не уверен, в чем твоя идея? – Fatime

+0

@MarkElliot, что вы думаете о моем предыдущем комментарии? – Fatime

0

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

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

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

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

Посмотреть благость-из-FIT статистики, отображения confidenceintervals и остатков , удаление выбросов и оценки припадков с validationdata

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

Смежные вопросы