3 入出力以外の標準ライブラリー関数(16章)

3.1 数学関数(p.351)

教科書p.351の表に書かれているような数学関数を使うときには、ヘッダーファイル <math.h>を以下のように書いて、インクルードする必要がある。
#include <math.h>

さらに、さらにコンパイルする場合には、libmというライブラリーをリンクして、 実行ファイルを作成する必要がある。このライブラリーが数学関数の実行ファイルである。 数学関数が使われているソースコードをコンパイルするときには、

gcc -lm -o 実行ファイル名 ソースファイル名
のようにする。
[練習1]
倍精度実数を読み込み、以下の関数の値を指数形式と小数点 以下、8桁で表示せよ。
  • 三角関数( $ \sin, \cos, \tan$)
  • 指数関数
  • 自然対数関数と常用対数関数
  • 平方根と立方根
[練習2]
$ \pi^\pi$を計算して、指数形式と小数点以下、8桁で表示せよ。

3.2 数学に関係すること諸々

3.2.1 複素数

以前のC言語は複素数がサポートされていなかった。数値計算をする場合、複素数が使え ないとかなり不便を強いられる。そのため、複素数が使える FORTRAN から抜け出せない 人が多くいた。新しいC言語では、複素数がサポートされるようになってきている。

その使い方は、教科書のp.471を参考にして欲しい。

[練習1]
$ 1+i$の複素数の絶対値を計算せよ。複素数の絶対値 を計算する関数はcabs()である。
[練習2]
$ 2+i\pi/4$の三角関数の値を計算せよ。複素数の三角 関数は、csin(), ccos(), ctan()を使う。

3.2.2 乱数

乱数も数値計算ではよく使われる。乱数の発生については、教科書のp.440(rand)と p.449(srand())を見よ。
[練習1]
諸君が使っているシステムの乱数発生のプログラムで、 発生できる最大の乱数を調べよ。
[練習2]
乱数の一様性を調べたい。どうすれば良いか考えよ。



ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成17年6月27日


no counter