算法 - 使用python二分法求解函数的解
PHPz
PHPz 2017-04-18 09:54:34
0
1
727

想到用二分法求解函数方程的解,初学者,求指正:有什么需要改进的地方

def f1(x):
    return pow(x,2) - 3*x + 2
# 函数的表达形式

def f(a,b,c):
    # a和b为区间长度,c为精确度
    while b - a != c:
        if f1(a) * f1((a + b)/2)> 0:
            a = (a + b)/2
        elif f1(a) * f1((a + b)/2) < 0:
            b = (a + b)/2
        else:
            print (a + b )/2
# 具体二分法求解过程

f(0,5,0)
求问:1)为什么一直输出是2,

  2)如何修改得到另一个解 1
  
PHPz
PHPz

学习是最好的投资!

membalas semua(1)
洪涛

Sebagai seorang pemula, anda harus sekurang-kurangnya memahami asas bahasa dan operator asas terlebih dahulu di sini / ialah pembahagian integer, jadi apabila membahagi dua integer, salah satu daripadanya mesti ditukar menjadi perpuluhan (). /2.0

Adakah anda pasti

boleh digunakan sebagai keadaan gelung dan tidak akan menyebabkan gelung tak terhingga? b - a != c

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan