2 プログラム作成の練習

少し,役に立つ数学の問題を解くプログラムの作成を行う.絶対にここのプログラムの内 容を理解せよ.これが理解できないと,今後の授業で大変困ることになる.
[練習1]
関数

  $\displaystyle f(x)=-5x^2+6x+6\sin x$   $\displaystyle -1000\leqq x \leqq 1000$   (1)

の最大値を計算するプログラムを作成せよ.計算のステップ幅--計算精 度を表す--を $ 1,\,0.01,\,0.0001$と変化させて計算させてみよ.ス テップ幅が$ 0.0001$のとき,コンピューターの計算回数はどの程度で あろうか.
[練習2]
基礎数学の教科書p.62の練習問題2-Aの2.(2)の連立不等式

  $\displaystyle \left\{ \begin{aligned}x^2-2x-3&\leqq 0\\ 3x+2 &< 4x \end{aligned} \right.$   $\displaystyle -1000\leqq x \leqq 1000$   (2)

を計算するプログラムを作成せよ.計算のステップ幅--計算精度を表す-- は,$ 0.0001$とせよ.
[練習3]
関数

  $\displaystyle f(x)=x^4-7x^3-3x^2-9x+6$   $\displaystyle -1000\leqq x \leqq 1000$   (3)

の最小値を計算するプログラムを作成せよ.計算のステップ幅は$ 0.01$と せよ.$ x^4$は教科書のp.127に示しているようにpow(x,4)と数 学関数を使うこともできるが,通常は,

$\displaystyle f(x)$ $\displaystyle =x^4-7x^3-3x^2-9x+6$    
  $\displaystyle =(x^3-7x^2-3x-9)x+6$    
  $\displaystyle =((x^2-7x-3)x-9)x+6$    
  $\displaystyle =(((x-7)x-3)x-9)x+6$ (4)

と展開して,最後の式をプログラムに書き込む.この方が, pow()関数を使うより,コンピューターの計算が早い.嘘だと思 うなら,比較してみよ.
[練習4]
基礎数学の教科書p.63の練習問題2-Bの1.(2)の連立不等式

  $\displaystyle \left\{ \begin{aligned}&x^2-x>0\\ &x^2+x-30<0\\ &x^2+2x-8\geqq 0 \end{aligned} \right.$   $\displaystyle -1000\leqq x \leqq 1000$   (5)

を計算するプログラムを作成せよ.計算のステップ幅--計算精度を表す-- は,$ 0.001$とせよ.

ホームページ: Yamamoto's laboratory
著者: 山本昌志
Yamamoto Masashi
平成18年9月20日


no counter