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 有且只有乙個根,請用二分法求出該根。輸入 無。輸...