Delphi_XE2Math单元函数

上传人:飞*** 文档编号:47595368 上传时间:2018-07-03 格式:PDF 页数:14 大小:105.87KB
返回 下载 相关 举报
Delphi_XE2Math单元函数_第1页
第1页 / 共14页
Delphi_XE2Math单元函数_第2页
第2页 / 共14页
Delphi_XE2Math单元函数_第3页
第3页 / 共14页
Delphi_XE2Math单元函数_第4页
第4页 / 共14页
Delphi_XE2Math单元函数_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《Delphi_XE2Math单元函数》由会员分享,可在线阅读,更多相关《Delphi_XE2Math单元函数(14页珍藏版)》请在金锄头文库上搜索。

1、1 *数学函数单元* CodeGear Delphi / Kylix 跨平台运行时(Runtime)库Copyright (c) 1995, 2011 embarcadero 技术* 这个单元包含高性能的算术、三角、对数、 统计和金融方面的计算及FPU 程序函数用于补充 Delphi 语言 System.pas 单元中的数学常规程序函数参考:1)P.J. Plauger, “The Standard C Library“, Prentice-Hall, 1992, Ch. 7. 标准 C 程序库2)W.J. Cody, Jr., and W. Waite, “Software Manual F

2、or the Elementary Functions“, Prentice-Hall, 1980.软件手册初步3)Namir Shammas, “C/C+ Mathematical Algorithms for Scientists and Engineers“, McGraw-Hill, 1995, Ch 8.C/C+ 数学的运算法则对于科学家和工程师4)H.T. Lau, “A Numerical Library in C for Scientists and Engineers“, CRC Press, 1994, Ch. 6.C语言中的数字的程序库对于科学家和工程师5)“Pentiu

3、m(tm) Processor Users Manual, V olume 3: Architecture and Programming Manual“, Intel, 1994Pentium(tm) 处理器使用手册 , 第 3 册: 体系结构和程序手册注意1)对于有些函数,这个单元中涉及的概念或常数由Earl F. Glynn () 和 Ray Lischner (www.tempest-) 提供。2)所有的角度参数和三角函数返回值都用弧度表示3)下列大部分的三角和对数程序直接的映射到Intel 80387 FPU 浮点指令4)输入域、输出范围和错误处理主要由FPU 硬件决定5)X86 B

4、ASM 汇编程序中的代码支持Pentium FPU 管线体系6) 常数IEEE 浮点类型的范围, 包括非正规的1)MinSingle = 1.4012984643248170709e-45; 最小Single数2)MaxSingle = 340282346638528859811704183484516925440.0; 最大 Single 数3)MinDouble = 4.9406564584124654418e-324;最小 Double 数4)MaxDouble = 1.7976931348623157081e+308; 最大 Double 数如果是 32 位5)MinExtended

5、= 3.64519953188247460253e-4951; 最小 Extended 数6)MaxExtended = 1.18973149535723176505e+4932; 最大 Extended 数如果是 64 位MinExtended = MinDouble; MaxExtended = MaxDouble; 7)MinComp = -9223372036854775807; 最小 Comp 数8)MaxComp = 9223372036854775807; 最大 Comp 数2 下列常数不应当被用于比较关系,仅仅用于分配。若要用于比较关系请使用IsNan 和IsInfinity

6、函数。(已提供在后面)9)NaN = 0.0 / 0.0; 非数10)Infinity = 1.0 / 0.0; 正无穷大11)NegInfinity = -1.0 / 0.0; 负无穷大一、三角函数( 输入 : |X| 0输出: -PI PI 弧度) 。3)函数ArcTan2(const Y, X: Extended): Extended; ArcTan2 (const Y, X:Double):Double; ArcTan2 (const Y, X:Single):Single (SinCos 过程比分别调用Sin 和 Cos 计算同一个角度快两倍. 输入Theta,输出Sin,Cos)

7、4)过程SinCos(const Theta: Extended; var Sin, Cos: Extended) ; /正弦,余弦函数SinCos(const Theta: Single; var Sin, Cos: Single) ;SinCos(const Theta: Double; var Sin, Cos:Double) ;5)函数Tan(const X: Extended): Extended; /正切函数Tan(const X:Double):Double; Tan(const X:Single):Single ;6)函数Cotan(const X: Extended): Ex

8、tended; 余切函数1 / tan(X), X 0 11)函数ArcSec(const X: Extended): Extended; 反正割IN: X 0 13)函数ArcCosh(const X: Extended): Extended; 反双曲余弦IN: X = 1 14)函数ArcSinh(const X: Extended): Extended; /反双曲正弦15)函数ArcTanh(const X: Extended): Extended; 反双曲正切IN: |X| 0 17)函数ArcSecH(const X: Extended): Extended; 反双曲正割IN: X

9、0 4 四、对数函数以下函数均有Double 和 Single 数据类型1)函数LnXP1(const X: Extended): Extended; 基于 e为底,计算Ln(X + 1), 精度 X 接近于 0 2)函数Log10(const X: Extended): Extended; 底为 10 的 X 对数 3)函数Log2(const X: Extended): Extended; 底为 2 的 X 对数 4)函数LogN(const N, X: Extended): Extended; 底 为 N 的 X 对数 五、指数函数IntPower :任意底数Base的 Exponent

10、 整指数。快;以下函数Base 参数均有Double 和 Single 数据类型1)函数IntPower(const Base: Extended; const Exponent: Integer): Extended; Power:任意底数的任意指数;对于分指数,或|指数 | MaxInt , 底数必须 0,以下函数均有Double 和 Single 数据类型2)函数Power(const Base, Exponent: Extended): Extended; 六、各种例程以下函数均有Double 和 Single 数据类型1)过程Frexp(const X: Extended; var

11、Mantissa: Extended; var Exponent: Integer) ; Frexp:将浮点数X 分离出尾数 M 和指数 E;X=M*2E2)函数Ldexp(const X: Extended; const P: Integer): Extended register; Ldexp:返回值= X*2P3)函数Ceil(const X: Extended):Integer; Ceil:返回 = X 的最小整数 , |X| 0 返回 X+1,如果 X0 返回 X-1) 。其缺省凑整到1/100。注:浮点舍入模式影响本函数的行为。2)函数SimpleRoundTo(const AVa

12、lue: Single; const ADigit: TRoundToRange = -2): Single;算术舍入法:四舍五入(0.5=1,1.5=2,2.5=3)3)函数SimpleRoundTo(const AValue: Double; const ADigit: TRoundToRange = -2): Double;4)函数SimpleRoundTo(const AValue:Extended; const ADigit: TRoundToRange = -2): Extended;九、金融函数遵循 Quattro Pro 标准 , 参数约定:金钱收入为正,支出为负(举例来说,借

13、款人偿还贷款则借款人为负)。利率是每个支付期, 11% 的年利率,相当于每个月(11 / 100) / 12 = 0.00916667 type TPaymentTime = (ptEndOfPeriod (期末 ), ptStartOfPeriod (期初) ); 1)函数DoubleDecliningBalance(const Cost, Salvage: Extended; Life, Period: Integer): Extended; Double Declining Balance (DDB) 双倍余额递减折旧法;Cost 资产原值, Salvage 残值, Life 资产寿命年

14、限,Period 欲求折旧的期次 计算指定期次Period 内的折旧值(例如第 2 年的折旧额) 。按下式计算,固定资产折旧年限到期前两年内,将资产账面净值扣除预计净残值后的净额平均摊销年折旧率资产账面净值年折旧额%100折旧年限2年折旧率11 以下参数: Rate利率, NPeriods 计算期, Payment 每期支付款,FutureValue 终值,PresentValue现值, PaymentTime 每期支付时间,Period 欲求的计算期。2)函数FutureValue(const Rate: Extended; NPeriods: Integer; const Payment,

15、 PresentValue: Extended; PaymentTime: TPaymentTime): Extended;等额支付终值公式(终值(FVAL ))基于固定利率和等额分期付款方式,计算投资的未来终值, PV 是计算期开始时的一次性支付的(首付款 ),可以是0。时iodptEndOfPer;当1)1()1(PTRRPmtRPVFVNP NP时eriodptStartOfP;当 11)1()1(1 PTRRPmtRPVFVNP NP3) 函数InterestPayment(const Rate: Extended; Period, NPeriods: Integer; const PresentValue, FutureValue: Extended; PaymentTime: TPaymentTime): Extended; 支付利息 (IPAYMT) 。返回定期偿还,固定利率下,第Period 期的利息。 NPeriods 总偿还期, PresentValue为首付款, FutureValue 为到期时的余额。计算方法(1)利用等额资金回收计算每期应付金额A (2)计算每期应付的利息和本金4) 函数InterestRate(NPeriods: Integer; const Payment, PresentValue, FutureValue: Extended

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号