How to use LSQNONLIN or LSQCURVEFIT when the function has a derivative form ?
조회 수: 1 (최근 30일)
이전 댓글 표시
I would like to use the least squares method to determine specific parameters. Knowing the time step, dt, time,t(i), and displacement, u(i), for every step i, the equation is the following:
F0(i)=k1*u(i)^k2
F1(i)=(F1(i-1)+k3*u(i)-k3*u(i-1))*(k4/(k4+k3*dt))
Y(i)=F0(i)+F1(i)=(k1*u(i)^k2)+(F1(i-1)+k3*u(i)-k3*u(i-1))*(k4/(k4+k3*dt))
or if it is more convenient for anyone (assuming that dF1(i)/dt=(F1(i)-F1(i-1))/dt) :
Y(i)=(k1*u(i)^k2)+(k4*u(i)-(k4/k3)*dF1(i)/dt)
Y_exp is the expected output, and the parameters I want to determine are the k1,k2,k3,k4. The thing that worries me the most, is the dependence of time step i on i-1 time step.
ANY IDEAS?
댓글 수: 0
채택된 답변
Star Strider
2016년 1월 25일
It’s difficult for me to follow what you’re doing. If you want to fit a (perhaps kinetic) differential equation to data, you can use the techniques in Monod kinetics and curve fitting.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Nonlinear Optimization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!