Exponential of big numbers

7 vues (au cours des 30 derniers jours)
Arianna Menardi
Arianna Menardi le 27 Avr 2020
Dear Experts,
I need to compute the following formula: M= expm(atilde*T).
However, the atilde*t results in a matrix of big numbers and when I do the expm matlab gives back a matrix of NaN as it is not able to handle them (from my understanding). I tried with vpi from this toolbox (https://www.mathworks.com/matlabcentral/fileexchange/22725-variable-precision-integer-arithmetic) by doing M=expm(vpi(atilde*T)) but it doen't work as it gives me back the error that expm requires input of type double or single and instead the type is VPI.
Does anyone has a suggestion on how to deal with this problem?
Thank you so much!
Arianna
  1 commentaire
Steven Lord
Steven Lord le 27 Avr 2020
How big are your "big numbers" in terms of magnitude?
Can you show a representative (small in terms of number of elements) matrix atilde*T?

Connectez-vous pour commenter.

Réponses (2)

David Hill
David Hill le 27 Avr 2020
Try:
M=expm(vpa(atilde*T));

Arianna Menardi
Arianna Menardi le 1 Mai 2020
Dear all, thank you for your suggestions! I actually found out that I needed to stabilize my matrix (dividing it by its max eigenvalue). Scaling it enabled my matlab to compute the code.
All the best

Catégories

En savoir plus sur Linear Algebra dans Help Center et File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by