Numerical Precision Physics Calculations
2 次查看(过去 30 天)
显示 更早的评论
I believe I may be encountering issues related to the numerical precision, but my understanding is limited so I wanted to ask the community. Hopefully I'm misunderstanding and someone can clarify!
I have a physics problem where I'm working with weak spatially varying magnetic fields, and calculating their response to conductive materials. For example, one calculation may involve a vector of doubles which range from 3e-7 to 4.9e-12 multiplied by one which has values of 0 or 5.89e7.
eps(5.89e7)
does this mean that all values below that eps value behave as zeros because there isn't sufficient precision for the calculation? Or do calculations work with say 4.9 *5.89 then e-12 *e7 seperately?
0 个评论
采纳的回答
Fangjun Jiang
2022-8-25
编辑:Fangjun Jiang
2022-8-25
eps(5.89e7)
It means that around 5.89e7 (which is a large value), the nearest values that can be represeted by double data type is 5.89e7+7.4506e-09 or 5.89e7-7.4506e-09. So you can see the minimal incremental value of 7.4506e-09 is quite small.
eps('double')
Since you are using the default double data type, there should be no problem representing your multiplication in the range of
5.89e7*4.9e-12
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!