標準ライブラリ 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"