導航:首頁 > 編程語言 > 在python中二分法求函數根

在python中二分法求函數根

發布時間:2023-03-19 08:28:23

『壹』 python 二分法求方程的根

import matplotlib.pyplot as plt

a=3

b=-2

x=(a+b)/2.0 # 中點

def f(x): # 定義方程式

y=x-2**0.5

return(y)

u=max([a,b])

l=min([a,b])

i=0

z=[]

est=[]

# 循嫌困鍵環體

while abs(f(x))> 10.0**(-15.0): # 計算精度

if f(u)*f(l)>0: # 判斷輸入假設是否芹巧成立

print('Error: Assumption not holds! ')

break

if f(x)*f(u)>0: # 判斷零點落尺蔽入區間

u=x

x=(x+l)/2.0

else:

l=x

x=(x+u)/2.0

i=i+1

z=z+[abs(x-2**0.5)]

est=est+[abs(a-b)/2**i]

plt.semilogy(z)

plt.semilogy(est)

plt.grid('on')

plt.legend(['simu','theo'])

plt.show()

『貳』 請問一下python程序代碼錯在哪裡了,謝謝。是通過二分法求方程根的函數

代碼有兩個地方有問題
1:19行的return縮進有問題,19行的return不應該出現在一個非方法的地方
2:代碼有可能出現死循環,在我輸入a:10,b:10,c:10,d:10的時候出現死循環,請檢查代碼邏輯

我已經調整好了

deff(x):
s=(a*x)**3+(b*x)**2+(c*x)+d
returns

a=int(input("a"))
b=int(input("b"))
c=int(input("c"))
d=int(input("d"))

mid=0
foriinrange(-100,100,1):
x1=int(i)
x2=int(i+1)
iff(x1)*f(x2)<0:
lo,hi=x1,x2
whilehi-lo>0.01:
mid=(lo+hi)/2
iff(lo)*f(mid)<0:
hi=mid
else:
lo=mid
else:
pass

printmid

『叄』 python里的二次根式怎麼寫

二次方根,表示為〔√ ̄〕。
如:數學語言為:√ ̄16=4。語言描述為:根號下16=4。
以下實例為通過用戶輸入一個數字,並計算這個數字的平方根:#-*-coding:UTF-8-*-#Filename:test.pynum=float(input('請輸入一個數字:'))num_sqrt=num**0.5print('%0.3f的平方根為%0.3f'%(num,num_sqrt))。執行以上代碼輸出結果為:$pythontest.py請輸入一個數字:44.000的平方根為2.000,在該實例中,我們通過用戶輸入一個數字,並使用指數運算符**來計算該數的平方根。

『肆』 python怎麼求解一元二次方程的根

import numpy as np

def solve_quad(a,b,c):

if a == 0:

print('您輸入的不是二次方程!')

else:

delta = b*b-4*a*c

x = -b/(2*a)

if delta == 0:

print('方程有惟一解,X=%f'%(x))

return x

elif delta > 0:

x1 = x-np.sqrt(delta)/(2*a)

x2 = x+np.sqrt(delta)/(2*a)

print('方程有兩個實根:X1=%f,X2=%f'%(x1,x2))

return x1,x2

else:

x1 = (-b+complex(0,1)*np.sqrt((-1)*delta))/(2*a)

x2 = (-b-complex(0,1)*np.sqrt((-1)*delta))/(2*a)

print(x1,x2)

return x1,x2

Python

是完全面向對象的語言。函數、模塊、數字、字元串都是對象。並且完全支持繼承、重載、派生、多繼承,有益於增強源代碼的復用性。Python支持重載運算符和動態類型。相對於Lisp這種傳統的函數式編程語言,Python對函數式設計只提供了有限的支持。有兩個標准庫(functools, itertools)提供了Haskell和Standard ML中久經考驗的函數式程序設計工具。

『伍』 利用Python語言計算方程的根

import math

def erfenfa(function, a, b): #定義函數,利用二分法求方程的根,氏棗褲function為具體方程,a,b為根的取值范圍

 start = a

 end = b

 if function(a) == 0: 

  殲簡return a

 elif function(b) == 0:

  return b

 elif function(a) * function(b) > 0: 

  print("couldn't find root in [a,b]")

  return

 else:

  mid = (start + end) / 2

  while abs(start - mid) > 0.0000001: 

   if function(mid) == 0:

    return mid

   岩好elif function(mid) * function(start) < 0:

    end = mid

   else:

    start = mid

   mid = (start + end) / 2

  return mid

def f(x):#定義構造方程式函數

 return math.pow(x, 5) -15*math.pow(x, 4) +85*math.pow(x, 3)-225*pow(x,2)+274*x - 121

print(round(erfenfa(f, 1.5, 2.4),6))

『陸』 python如何求平方根

while True: a=float(input('請輸入實數:'))

def power(x):

return x*x print(a,'^2=',power(a))

b=int(input('是否要繼續計算,是,請輸入1,否,請輸入0: '))

if b==0: print('已退出計算器')

break

else:

continue

(6)在python中二分法求函數根擴展閱讀:

使用Python完成,輸入兩個數,得到加減乘除余結果的功能,其中結果輸出使用不同的格式。

1. 定義兩個變數a,b,使用鍵盤輸入的方式。python的2.x版本中鍵盤輸入有兩種方式可以實現:raw_input(),input(),在3.X版本中兩者合並為一個,只支持input().

2. 輸出結果:

(1) 輸出string型的結果

[python] view plain print?

閱讀全文

與在python中二分法求函數根相關的資料

熱點內容
libzip壓縮解壓 瀏覽:943
廣州銀行app如何導流水 瀏覽:385
什麼是寫命令 瀏覽:687
程序員眼中的道德 瀏覽:505
文件解壓後亂碼是什麼原因 瀏覽:730
php路徑轉換 瀏覽:188
php中flag 瀏覽:182
當程序員要做什麼准備 瀏覽:284
pinctrllinux 瀏覽:901
lzw壓縮工具 瀏覽:864
luae加密插件破解版 瀏覽:141
Python求導數和程序 瀏覽:223
太原java程序員 瀏覽:361
picfile是什麼文件夾 瀏覽:292
12乘12國外的演算法 瀏覽:182
籌碼尺指標公式源碼 瀏覽:534
如何在瀏覽器訪問阿里雲伺服器 瀏覽:538
火的企業文件加密 瀏覽:463
支付寶app如何重新注冊 瀏覽:520
現在的伺服器版本是什麼 瀏覽:192