Exponential of big numbers

7 visualizzazioni (ultimi 30 giorni)
Arianna Menardi
Arianna Menardi il 27 Apr 2020
Risposto: Arianna Menardi il 1 Mag 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 Commento
Steven Lord
Steven Lord il 27 Apr 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?

Accedi per commentare.

Risposte (2)

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

Arianna Menardi
Arianna Menardi il 1 Mag 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

Categorie

Scopri di più su Linear Algebra 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!

Translated by