How to use fsolve solution as its initial values for the next step size
조회 수: 1 (최근 30일)
이전 댓글 표시
Hi, I want to solve a system of nonlinear equations (having sine and cosine) inside a user-defined function in Simulink. It works well. However, the initial values I gave the solver for t=0 is no longer a good guess for the next step size of running the program. So my question is, how can I give the solver initial values equal to the solution for the previous step? Of course, at t=0, I have already set a vector of constant initial conditions. Note that if I connect the output of the block (solution of fsolve) as an input to the block (to be used as initial values for fsolve inside the block), there will be algebraic loop problem; consequently, the program stops. Any idea?
댓글 수: 0
답변 (1개)
Walter Roberson
2018년 5월 5일
Break the algebraic loop. See https://blogs.mathworks.com/simulink/2015/07/18/why-you-should-never-break-an-algebraic-loop-with-with-a-memory-block/
댓글 수: 4
Walter Roberson
2018년 5월 5일
See for example the discussion at https://www.mathworks.com/matlabcentral/answers/309929-using-persistent-vars-in-custom-simulink-matlab-function
참고 항목
카테고리
Help Center 및 File Exchange에서 Systems of Nonlinear Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!