Parameters obtained using lsqcurvefit results in complex numbers.
이전 댓글 표시
Hi. I tried to fit simultaneous ODE using lsqcurvefit. Code works well and provide parameters. But parameters are coming as complex number. In my case parameters must be real number. How to restrict parameters to real numbers using lsqcurvefit?
댓글 수: 7
Torsten
2019년 6월 28일
Most probably, your model function produces complex values (sqrt or log or exponentiation of negative numbers).
Ghansyam Vadodaria
2019년 6월 28일
Torsten
2019년 6월 28일
You'll get real parameters if your model function does not produce complex results.
So what exactly is your model function ?
Ghansyam Vadodaria
2019년 6월 29일
Torsten
2019년 7월 1일
Either try to use the NonNegative option of the ODE solvers or - if this does not work - abs(PP(1))^a (same for the other exponentiations).
Ghansyam Vadodaria
2019년 7월 3일
Torsten
2019년 7월 3일
But note that by this trick, the results of your ODEs might have changed compared to the original ODE without the abs().
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Nonlinear Least Squares (Curve Fitting)에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!