Hy, I wonder wich is the good solution for this problem:(adsbygoogle = window.adsbygoogle || []).push({});

Nonlinear least square problem: function:y = x / (a + b.x)linearization: 1/y = a/x + b substitution: v = 1/y , u = 1/x >> model v = b + a.u

What we did in school:

x = [1 2 4 7]; y = [2 1 0.4 0.1];

v=1./y;

u=1./x;

n = length(x);

A=[ones(n,1), u']

xbeta=A\v'

Lbeta=xbeta;

beta0=flipud(Lbeta)

beta=fminsearch('kritfun',beta0)

r = [kritfun(beta0) , kritfun(beta)]

+ kritfun.m

function z=kritfun(beta)

a=beta(1);

b=beta(2);

x = [1 2 4 7];

y = [2 1 0.4 0.1];

error = y - x./(a + b*x );

z = sum((error .^2 ));

in ML we get :xbeta =

7.3658

-8.1692

beta =

1.0e+014 *

-8.2085

4.1043

r =

11.0600 4.1700

but when I try in Curve Fitting tool too check the soulution , I get something else ..according to this video:

too call CF I typed to prompt >>cftool

When I try this I get the same number like in the Curve fitting tool , the a,b parameters is my beta(1),beta(2) and the SSE number is my r(2) ..what was same when I tried this:

x = [1 2 4 7];

y = [2 1 0.4 0.1];

%u = 1./x; %these u and v I dont use it...but I didnt know when not using substituion is correct the beta and r(2) , but when I didnt use I get same numbers lik in the Curve Fitting tool

%v = 1./y;

n = length(x);

X = [ ones(n,1), x'];

btr = X\y'

beta0 = flipud(btr)'

beta = fminsearch('mnsNLcFUN',beta0)

r = [mnsNLcFUN(beta0), mnsNLcFUN(beta)]

+ mnsNLcFUN.m function is:

function z=mnsNLcFUN(beta)

a=beta(1);

b=beta(2);

x = [1 2 4 7];

y = [2 1 0.4 0.1];

error = y - x./(a+b.*x);

z = sum((error .^2 ));

**Physics Forums - The Fusion of Science and Community**

The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

# [Matlab] Which is the good solution My vs. School - curve fitting?

Loading...

Similar Threads - Matlab solution School | Date |
---|---|

BioHeat Equation solution in MATLAB using pdepe | Dec 20, 2015 |

Stability issues of ODE solutions using Matlab | Apr 4, 2013 |

Can't run my main Matlab file related to ODE solution | Mar 10, 2013 |

MATLAB - Using solution of one ODE in another | Jul 28, 2012 |

Equation with 3 unknowns. how do i find the maximum solution using matlab? | Feb 8, 2012 |

**Physics Forums - The Fusion of Science and Community**