マニュアルページ annuity.3m
名前
exp2, exp10, log2, compound, annuity - 指数関数、対数関 数、
財務関数
形式
cc [ flag ... ] file ... -lsunmath -lm [ library ... ]
flag にはフラグ、 file にはファイル名、 library には ラ
イブラリ名を指定します。
#include <sunmath.h>
double exp2(double x);
double exp10(double x);
double log2(double x);
double compound(double r, double n);
double annuity(double r, double n);
機能説明
exp2( ) と exp10( ) は、それぞれ 2**x および 10**x を返し ま
す。
log2( ) は、2 を底とする x の対数を返します。
compound() および annuity() は、定期利率を r として、 n 期に
発生する利息の財務計算において重要な関数です。 compound(r,n)
は、複利利回り (1+r)**n を計算します。最初の元金を P0, と す
る と、 n 期後の元金は Pn = P0 *compound(r,n) で求めることが
できます。 annuity(r,n) は、年賦金利回りの現 在 の 値 (1 -
(1+r)**-n)/r を計算します。最初の元金を P0 とすると、同じ期
間の支払額は p = P0 / annuity(r,n) で求めることができま す。
compound() および annuity() では、 r の値が小さいときに根拠
のない不正確な結果が得られることを避けるために、 log1p() と
expm1() を 使 用しています。 r <= -1 の場合の compound() と
annuity() は定義されていません。
たとえば、元金 P0 を四半期複利、年利息 5% で 30 年間預けたと
きの合計元金は次のようにして求めることができます。
P30 = P0 * compound(.05/4, 30.0 * 4)
また、総額 P0 の住宅ローンを、年利 10% の固定利率、返済期 間
30 年間で組んだ場合、毎月の返済額は次のようにして求めること
ができます。
p = P0 / annuity(.10/12, 30.0 * 12)
関連項目
exp(3M)