2014-09-02 2 views
0

У меня есть три точки данных, через которые я должен соответствовать прямой линии Y = m * X + C. Я хочу, чтобы линия имела предопределенный наклон «m», но константа «C» может измениться, чтобы получить наименьшую ошибку при установке с использованием Matlab. Кто-нибудь может мне помочь?Наименьшие квадраты подходят, неизвестный вклад

+0

Какая ошибка метрика? абсолютная разница? – Daniel

+1

Стандартная ошибка. Сумма (Ymeasured-Ypredicted).^2 – gopikrishna

ответ

0

Если вы решили использовать подгонка кривой Toolbox решение выглядит следующим образом.

Чтобы начать генерировать некоторые данные

m = 3; 
x = (1:10).'; 
y = m*x + 2 + randn(size(x)); 

затем выберите модель, чтобы установить и установить границы для ее коэффициентов

ft = fittype('poly1'); 
opts = fitoptions('Method', 'LinearLeastSquares'); 
opts.Lower = [m -Inf]; 
opts.Upper = [m Inf]; 

наконец называют фитинг рутинного

[fitresult, gof] = fit(x, y, ft, opts); 

интерсепта хранится в fitresult.p2.