数値計算

(菊地先生のオンライ ンテキスト2006年度版に準拠)
作業ディレクトリ‾/python/08を作成してからその中で実行してください。

はじめに

階乗の計算

階乗の計算プログラム

実行例:(2つの方法を比較)

# a2.py
# 階乗の計算
#
def fact1(n):
    f = 1
    for i in range(1,n+1):
        f = f * i
        print n, f
    return f
 
def fact2(n):
    if n == 0:
        print n, 1
        return 1
    f=n * fact2(n-1)
    print n, f
    return f

>>> from a2 import *
>>> fact1(10)
1
2
6
24
120
720
5040
40320
362880
3628800
3628800
>>> fact2(10)
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
3628800

Newton 法による平方根の計算

平方根の計算

Newton法のプログラム 

補足

実行例:(math モジュールによる計算結果と比較)

補足

課題

提出期限            1/21 17:00
サブジェクト名 :  p8 kadai
送付先             honda@is.kochi-u.ac.jp

問題1

(1)上記のNewton法による平方根の計算プログラムを使用して、収束判定値 e=0.1, 0.01, 0.001.0.0001,0.00001としたときの解を求めなさい。またその結果をx**(1./2)の結果と比較して考察しなさい。(結果のみ送っ てください)

(2)b.pyを参考にして、Newton法によって三乗根を計算する関数 Cbrt(x[, e]) を q1.py に作成し、x ** (1./3) の結果と比較しなさい。但し、収束判断値 e はオプションである。(スクリプトと結果を送って下さい)

参考問題

(余力のある人は解いて提出してください。加点します)