how to minimizing the error and find the constants by fitting the data

조회 수: 17 (최근 30일)
R7 DR
R7 DR 2015년 2월 25일
댓글: dpb 2015년 2월 28일
I have two data sets, D1 and D2. where D1 and D2 has the experimental and Calculated values. How to fit the data to minimize the error and find the constant values.
D1=[......] %experiemntal
D2=[......] % calculated
X =[......] % dimensions are same as D1&D2
Y =[......] % dimensions are same as D1&D2
D2(A, B, X,Y)= A*exp(B/X)*Y % D2 is a function of A,B,X,Y
How to find the values of A and B by minimizing the error between D1 and D2?
Thanks

채택된 답변

dpb
dpb 2015년 2월 25일
편집: dpb 2015년 2월 26일
Presuming have the Stat Toolbox, ninfit makes it pretty simple directly...
If you write
function dhat=model(coef,x)
% some convenient internal shorthand definitions...
a=coef(1);
b=coef(2);
X=x(:,1);
Y=x(:,2);
% predicted model
dhat=a*exp(b./x).*y;
then
coeff=nlinfit([X,Y],D1,@model,coeff0);
where coeff0 is an initial guess/estimate for the coefficients a and b
Alternatively, the above form can be linearized by log transformation into
ln(A) + B/X + ln(Y)
which can be solved by OLS for coefficients in transformed space.
  댓글 수: 6
R7 DR
R7 DR 2015년 2월 27일
Thanks a lot...
Its working..
dpb
dpb 2015년 2월 28일
Good; figured it would if you'd just go ahead and try it... :)

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

Community Treasure Hunt

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

Start Hunting!

Translated by