|
|
发表于 2010-12-4 10:39:32
|
显示全部楼层
回复 2# znon 的帖子
还是贴一下吧。
http://www.cfd-online.com/Wiki/Fluent_FAQ#What_does_.22floating_point_error.22_mean.3F_How_can_I_avoid_it.3F
The floating point error has been reported many times and discussed a lot. Here are some of the answers found in the Fluent Forum:
From numerical computation view point , the basic operations performed by computer are represented inside computer in what is called floating point numbers. The errors that are either because of invalid numeric computation initiated by user or limitation of machine that is used are floating point errors.
1)Invalid Operations:- Simplest example is if one uses Newton Raphson root finding method to solve f(x)=0 and for some Nth iteration if we get x = x(N) such that derivative of function f(x), f'(x(N))=0 then formula for calculating next iterate x(N+1) = x(N) - f(x(N))/f'(x(N)) requires division by f'(x(N)) which is zero. Here you get divide by zero type of floating point error.
2) Over or Underflow:- Another type is having data with either too large or too small magnitude called 'overflow' or 'underflow' respectively.Such data cannot be physically represented on computer for direct processing by arithmetic processing part of Processor.
3) Rounding off errors :- While rounding off a decimal number , some significant digits are lost which cannot be recovered . e.g. if we round off 0.1 to integer (not greater than it called 'floor' of the given no.) then it is zero. If this value if further used for computation then it may lead to several errors. |
|