標準ライブラリ math.h にはいくつかの算術関数が定義されている。
算術関数には以下のようなものがある。
sqrt(x) | |
log(x) | |
log10(x) | |
exp(x) | |
sin(x) | |
cos(x) | |
tan(x) | |
asin(x) | |
acos(x) | |
atan(x) | |
sinh(x) | |
cosh(x) | |
tanh(x) | |
fabs(x) | |
paw(x,y) |
ここで注意することは、変数 x,(y) は double 型の変数を
用いること、関数の返す値も double 型であることである。また、標
準ライブラリ math.h
使う時はコンパイル時にオプション
``-lm
''をつける必要がある。
以下に使
用例を示す。4
flower.o ------------------------------------------------------------- #include<math.h> /* 算術関数を定義した標準ライブラリ */ int main(void){ double PI = 3.1415926; double r,t, x,y, a,b; int i; for(r = 0.;r < 5.; r+=0.05){ /* 動径成分を for 文で回す */ for(i = 0; i < 360; i+=1){ /* 角度成分を for 文で回す */ t = (double)i*180./PI; /* 度 --> radian 変換 */ a = cos(10.*t); /* cos 関数 */ b = tan(r*sin(2.*r)); /* sin,tan 関数 */ if(a < b){ /* a < b の時にだけ値を出力する */ x = r*cos(t); /* (r,t) --> (x,y) に変換 */ y = r*sin(t); printf("%f %f \n",x,y); } } } } 実行結果 ------------------------------------------------------------- s1:~/c_text> gcc -o flower flower.c -lm s1:~/c_text> ./flower > out.dat s1:~/c_text> gnuplot gnuplot> plot"out.dat"