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

2 次查看(过去 30 天)
[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?

回答(1 个)

Kumar Pallav
Kumar Pallav 2021-9-27
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.

类别

Help CenterFile Exchange 中查找有关 Mathematics and Optimization 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by