Simulink solvers (ODE45 variable step and ODE1 fixed step) produce different results in different machines
조회 수: 4 (최근 30일)
이전 댓글 표시
Hi everyone, could anybody help me where to look at or explain what is happening?
I have a Simulink model which involves some reverse kinematics. I been using ODE45, variable step to solve the model but realized that it was producing different results in different machines. The setup of the model is identical, actually even the two PC have almost identical processors and motherboards (but I would have to check this again). Under the same local core or PC unit, the result is consistent. However using a different machine produced different results. The differences are order of around 10^-5 to 10^-8, which maybe a small value but is critical for my application. I've also tried ODE1 with the fixed step of 0.001, and the inconsistency between different machines still existed. Could anyone please explain this? Is this fully my problem in the model itself? Or is this how the ODE solvers do in simulink?
For example, I get ------- Simulink.SimulationOutput: Ccost: 0.348127891814900 ------- for Machine#1,
but I get ------- Simulink.SimulationOutput: Ccost: 0.348105484919332 ------- for Machine#2. Can't I fix it so that the result is not dependent on the PC and always consistent?
Sincerely, John
댓글 수: 0
답변 (1개)
Balbheem
2013년 7월 21일
Hello John, Matlab program must work everywhere just as it is cross-platform by default, unless version varies..
But, in your case its not the version issue.
So, I think you need to configure your simulink execution. Look out for consistency in solver, solver type, if fixed step then look for step size,..
댓글 수: 0
참고 항목
카테고리
Help Center 및 File Exchange에서 Ordinary Differential Equations에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!