Deviations in Result from 2 Matlab Versions
1 次查看(过去 30 天)
显示 更早的评论
Hello guys,
I have a complex model (let's name it model 'A') that run in Matlab/Simulink 2016b. When I migrate to 2018b and tried to run it, and error appeared due to SLPRJ folders from 2016b. From my understanding (after reading from other forums), SLPRJ folders are generated when model was run and it simply generated the C code for the calculations.
In my Matlab 2018b, an add ons MINGW.mlpkginstall was installed because it's needed to run another model (let's say model 'B'). Thus, in order to able to run that complex model ('A'), I simply deleted the SLPRJ folders(that was made in 2016b) and the results showed up and everything works without error.
When I tried to compare the results, somehow the deviations occured between 2016b and 2018b. I've tried to read release notes from 2017a to 2018b, but I couldn't find something that can be relevant as the cause for those deviations.
Has anybody any idea, what can be the root cause? I would say by deleting SLPRJ folders (2016b) and Mingw shouldn't be the main cause for those deviations. Am I right?
Thank you
Regards
Daniel
2 个评论
Sivani Pentapati
2021-9-2
Could you please provide a detailed explanation along with the code you have tried so that we can replicate the issue?
采纳的回答
Walter Roberson
2021-9-3
We can see a transfer function step in Picture 3. No matter whether you use Continuous time or Discrete Time, if you have a transfer function, MATLAB is going to end up having to create differential equations and use a differential equation solver. That is going to involve the linear algebra functions, and will probably need BLAS or LAPACK .
If you are using continuous time, MATLAB always sets up differential equations and uses a differential equation solver.
If you are using discrete time, then you are operating closer to a state machine, and potentially MATLAB might not need to set up differential equations -- but transfer functions need derivatives and you need a differential equation solver in that case.
5 个评论
Walter Roberson
2021-9-3
No, using continuous time requires that differential equations are calculated, and the solvers for those use functions such as the \ operator that use BLAS or LAPACK.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Array and Matrix Mathematics 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!