Dealing with very small or very large numbers

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?

 Accepted Answer

I guess the obvious suggestion is to work in units of nanometers or maybe picometers instead of meters. Can you do that?

2 Comments

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.
Never mind, the quantity x is untiless in my case so it doesn't matter.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!