Dealing with very small or very large numbers

10 次查看(过去 30 天)
I have a physical problem with length scales on the order of nanometers. After some calculations, I have to calculate things like exp(-1e15) which is 0 according to MATLAB, but in reality it is nonzero. For context exp(-700) is already 9.8e-305 which is close to the smallest number in MATLAB 2.2251e-308. Is there a known workaround for things like his?

采纳的回答

James Tursa
James Tursa 2021-4-10
I guess the obvious suggestion is to work in units of nanometers or maybe picometers instead of meters. Can you do that?
  2 个评论
Anthony Gurunian
Anthony Gurunian 2021-4-10
That creates a new problem of having to convert back. Let's say I need a quantity f(x) = e^-x. If x is in meters f(1000) = 5.07e-435. if x is in kilometers, f(1) = 0.36. There is no simple way to convert.
Anthony Gurunian
Anthony Gurunian 2021-4-10
Never mind, the quantity x is untiless in my case so it doesn't matter.

请先登录,再进行评论。

更多回答(0 个)

类别

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