Python 二分法求函式零點

2021-08-09 06:45:40 字數 1058 閱讀 7893

python寫二分法求函式零點

#coding:utf-8

import math

import numpy as np

import matplotlib.pyplot as plt

def f(x):

y = 0.5*x**2 - 2

#y = math.log10(x)

return y

def bin():

a = input("a = ")

b = input("b = ")

c = input("c = ")

while(1):

plt.plot([a, b], [f(a), f(b)])

print a, b

x = (a + b)/2

if f(x)==0:

break

elif ( f(x)*f(a)<0 ):

b = x

elif ( f(x)*f(a)>0 ):

a = x

elif (a > b):

print "a,b範圍內無解"

if abs(a - b)< c:

break

print "二分法估計解為:x = ",x

#draw

x = np.linspace(-1,15,500) #給定x值的範圍,並給予y函式賦值

plt.figure(figsize = (7,4)) #設定圖的尺寸

plt.plot(x,f(x))

plt.axis([-1,10,-4,35]) #設定x,y座標起始點

plt.xlabel("x")

plt.ylabel("y")

plt.title("binary search")

plt.grid(true) #繪製網格

二分法求零點

題目鏈結 先來個簡單的題目 有函式 f x x5 15 x4 85 x3 225 x2 274 x 121 已知 f 1.5 0 f 2.4 0 且方程 f x 0 在區間 1.5,2.4 有且只有乙個根,請用二分法求出該根。輸出該方程在區間 1.5,2.4 中的根。要求四捨五入到小數點後6位。就是...

4142 二分法求函式的零點(二分查詢)

總時間限制 1000ms 記憶體限制 65536kb 描述有函式 f x x5 15 x4 85 x3 225 x2 274 x 121 已知 f 1.5 0 f 2.4 0 且方程 f x 0 在區間 1.5,2.4 有且只有乙個根,請用二分法求出該根。輸入無。輸出該方程在區間 1.5,2.4 中...

Bailan4142 二分法求函式的零點 二分法

4142 二分法求函式的零點 總時間限制 1000ms 記憶體限制 65536kb 描述 有函式 f x x5 15 x4 85 x3 225 x2 274 x 121 已知 f 1.5 0 f 2.4 0 且方程 f x 0 在區間 1.5,2.4 有且只有乙個根,請用二分法求出該根。輸入 無。輸...