基本数学関数


この章では、PP Basicで使用できる基礎的数学関数の使用法を説明します。



絶対値の取得:abs

数値の絶対値を返します。

#-----------------------------abs関数サンプルコード

a=abs(-10)

print "a -> ",a

#-----------------------------結果

a -> 10



平方根の取得:sqrt

数値の平方根を取得します。与える数値は0以上でなければなりません。

#-----------------------------平方根関数サンプルコード

a=sqrt(2)

print "a -> ",a

#-----------------------------結果

a -> 1.41421



整数値の取得:int

数値の小数点以下を切り捨て、整数部分を取得します。

#-----------------------------int関数サンプルコード

a=int(3.141592)

print "a -> ",a

#-----------------------------結果

a -> 3



剰余計算の余りの取得:mod

mod(i1,i2)

i1をi2で割った余りを返します。

#-----------------------------mod関数サンプルコード

a=mod(777,100)

print "a -> ",a

#-----------------------------結果

a -> 77



乱数生成関数:rnd, randmize

rnd(x)

0〜xの範囲の乱数を返します。

#-----------------------------乱数生成サンプルコード

a=rnd(1)

print "a -> ",a

#-----------------------------結果

a -> 0.84018



対数:exp, log, log10

与えられた数値の対数値を返します。logは低がe、log10は低を10として計算します。

#-----------------------------対数関数サンプルコード

a=log(10)
b=log10(10)
c=exp(1)
print "a, b, c -> ",a, b, c

#-----------------------------結果

a, b, c -> 2.30258 1 2.71828



三角関数:sin, cos, tan

三角関数の演算を行います。数値はラジアンで与えます。 

#-----------------------------三角関数サンプルコード

pi=3.141592
n=300
for i=1 to n
i0=i-1:i1=i
thita0=pi*6/n*i0
thita1=pi*6/n*i1
a0=sin(thita0):a1=sin(thita1)
b0=cos(thita0):b1=cos(thita1)
c0=tan(thita0):c1=tan(thita1)

MoveTo(i0*2,a0*50+100):LineTo(i1*2,a1*50+100)
MoveTo(i0*2,b0*50+100):LineTo(i1*2,b1*50+100)
MoveTo(i0*2,c0*50+100):LineTo(i1*2,c1*50+100)
next

#-----------------------------結果



逆三角関数:asin, acos, atan

値の逆正弦、逆余弦および逆正接を返します。返される値の単位はラジアンです。asinおよびacosに対しては、数値は-1.0〜1.0の範囲内でなければなりません。

#-----------------------------逆三角関数サンプルコード

width=2
n=300
for i=1 to n
i0=i-1:i1=i
val0=-1+width/n*i0
val1=-1+width/n*i1
a0=asin(val0):a1=asin(val1)
b0=acos(val0):b1=acos(val1)
c0=atan(val0):c1=atan(val1)

MoveTo(i0*2,a0*50+100):LineTo(i1*2,a1*50+100)
MoveTo(i0*2,b0*50+100):LineTo(i1*2,b1*50+100)
MoveTo(i0*2,c0*50+100):LineTo(i1*2,c1*50+100)
next

#-----------------------------結果

a,b,c -> 1.57080 0 0.78540



双曲線関数:sinh, cosh, tanh

引数の双曲線正弦、双曲線余弦および双曲線正接を返します。

#-----------------------------双曲線関数サンプルコード

width=8
n=300
for i=1 to n
i0=i-1:i1=i
val0=-width/2+width/n*i0
val1=-width/2+width/n*i1
a0=sinh(val0):a1=sinh(val1)
b0=cosh(val0):b1=cosh(val1)
c0=tanh(val0):c1=tanh(val1)

MoveTo(i0*2,a0*50+100):LineTo(i1*2,a1*50+100)
MoveTo(i0*2,b0*50+100):LineTo(i1*2,b1*50+100)
MoveTo(i0*2,c0*50+100):LineTo(i1*2,c1*50+100)
next

#-----------------------------結果