Exponential of big numbers

13 views (last 30 days)
Arianna Menardi
Arianna Menardi on 27 Apr 2020
Answered: Arianna Menardi on 1 May 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 Comment
Steven Lord
Steven Lord on 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?

Sign in to comment.

Answers (2)

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

Arianna Menardi
Arianna Menardi on 1 May 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

Community Treasure Hunt

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

Start Hunting!