Exponential of big numbers

3 次查看(过去 30 天)
Arianna Menardi
Arianna Menardi 2020-4-27
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 个评论
Steven Lord
Steven Lord 2020-4-27
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?

请先登录,再进行评论。

回答(2 个)

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

Arianna Menardi
Arianna Menardi 2020-5-1
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

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by