Deviations in Result from 2 Matlab Versions
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
Daniel Sadono
il 10 Ago 2021
Commentato: Daniel Sadono
il 6 Set 2021
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 Commenti
Sivani Pentapati
il 2 Set 2021
Could you please provide a detailed explanation along with the code you have tried so that we can replicate the issue?
Risposta accettata
Walter Roberson
il 3 Set 2021
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 Commenti
Walter Roberson
il 3 Set 2021
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.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Array and Matrix Mathematics in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!