How to get positive kla(mass transfer coefficient) by solving ODE's using ode 15s and lsqonlin function?

2 views (last 30 days)
Mohankumar Narayanasamy
Mohankumar Narayanasamy on 24 Sep 2021
Answered: Kumar Pallav on 27 Sep 2021
[klaFit, resnorm, residual,~,optOut,lambda,J] = lsqnonlin(residualFun,...
0.5,[ ],[ ],lsqOpts);
The kla value after iterating returns a negative value from lsqonlin function. Could some one explain this or help getting a positive value?

Answers (1)

Kumar Pallav
Kumar Pallav on 27 Sep 2021
From my understanding, 'lsqnonlin' solves nonlinear least-squares (nonlinear data-fitting) problems.
x = lsqnonlin(fun,x0) starts at the point x0 and finds a minimum of the sum of squares of the functions described in fun.
Here, you have given the initial point as 0.5, and the solution you get is negative, that means, your function (residualFun) sum of squares is minimized at that negative value.
You can try the following format so that the solution is always in the range lb ≤ x ≤ ub,
x = lsqnonlin(fun,x0,lb,ub,options)
where 'lb' and 'ub' are lower and upper bounds respectively.
Refer this for more on 'lsqnonlin' function.

Products


Release

R2021a

Community Treasure Hunt

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

Start Hunting!