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

2 Ansichten (letzte 30 Tage)
[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?

Antworten (1)

Kumar Pallav
Kumar Pallav am 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.

Kategorien

Mehr zu Mathematics and Optimization finden Sie in Help Center und File Exchange

Produkte


Version

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by