Hi,
Is there any way to specify the y-intercept value of polyfit? I have had a look around, and when this question is asked most people are trying to fit it to a 0 y-intercept. In my case, I need to fit least-square lines to several different groups of points whose y-intercepts are known and are non-zero.
Any help would be great,
FP

 採用された回答

Star Strider
Star Strider 2012 年 11 月 5 日
編集済み: Star Strider 2012 年 11 月 5 日

1 投票

I doubt that's possible with polyfit. If you are only using a first order regression model and you have access to one of the nonlinear curve fitting routines ( nlinfit in the Statistics Toolbox or lsqcurvefit in the Optimization Toolbox), the easiest way to do this is simply to use them with an objective function similar to:
Intercept = 5;
RegModel = @(B,X) B(1).*X + Intercept;
then:
beta0 = rand;
[Beta,R,J,CovB,MSE] = nlinfit(X, Y, RegModel, beta0);
You can use whatever sort of regression model you want, of course. In this one I used a simple single-parameter model.
You can specify whatever you want in a model function, and can fit as many parameters as you want (that are mathematically appropriate).

その他の回答 (1 件)

Matt J
Matt J 2012 年 11 月 5 日
編集済み: Matt J 2012 年 11 月 5 日

1 投票

So you just have a slope to estimate? It should be just
slope=xData\(yData-yIntercept);

カテゴリ

ヘルプ センター および File Exchange で Linear and Nonlinear Regression についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by