python計(jì)算方程式根的方法
本文實(shí)例講述了python計(jì)算方程式根的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:
''' roots = polyRoots(a).
Uses Laguerre's method to compute all the roots of
a[0] + a[1]*x + a[2]*x^2 +...+ a[n]*x^n = 0.
The roots are returned in the array 'roots',
'''
from evalPoly import *
from numpy import zeros,complex
from cmath import sqrt
from random import random
def polyRoots(a,tol=1.0e-12):
def laguerre(a,tol):
x = random()
# Starting value (random number)
n = len(a) - 1
for i in range(30):
p,dp,ddp = evalPoly(a,x)
if abs(p) < tol: return x
g = dp/p
h = g*g - ddp/p
f = sqrt((n - 1)*(n*h - g*g))
if abs(g + f) > abs(g - f): dx = n/(g + f)
else: dx = n/(g - f)
x = x - dx
if abs(dx) < tol: return x
print 'Too many iterations'
def deflPoly(a,root): # Deflates a polynomial
n = len(a)-1
b = [(0.0 + 0.0j)]*n
b[n-1] = a[n]
for i in range(n-2,-1,-1):
b[i] = a[i+1] + root*b[i+1]
return b
n = len(a) - 1
roots = zeros((n),dtype=complex)
for i in range(n):
x = laguerre(a,tol)
if abs(x.imag) < tol: x = x.real
roots[i] = x
a = deflPoly(a,x)
return roots
raw_input("\nPress return to exit")
希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。
相關(guān)文章
Python構(gòu)建機(jī)器學(xué)習(xí)API服務(wù)的操作過(guò)程
這篇文章主要介紹了Python構(gòu)建機(jī)器學(xué)習(xí)API服務(wù)的操作過(guò)程,通過(guò)本文的指導(dǎo),讀者可以學(xué)習(xí)如何使用Python構(gòu)建機(jī)器學(xué)習(xí)模型的API服務(wù),并了解到在實(shí)際應(yīng)用中需要考慮的一些關(guān)鍵問(wèn)題和解決方案,從而為自己的項(xiàng)目提供更好的支持和服務(wù),需要的朋友可以參考下2024-04-04
Python 循環(huán)終止語(yǔ)句的三種方法小結(jié)
今天小編就為大家分享一篇Python 循環(huán)終止語(yǔ)句的三種方法小結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-06-06
Python練習(xí)之制作企業(yè)獎(jiǎng)金計(jì)算器
在本篇博客中,我們將使用Python代碼解決一個(gè)企業(yè)獎(jiǎng)金計(jì)算的問(wèn)題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-06-06
springboot aop方式實(shí)現(xiàn)接口入?yún)⑿r?yàn)的示例代碼
在實(shí)際開(kāi)發(fā)項(xiàng)目中,我們常常需要對(duì)接口入?yún)⑦M(jìn)行校驗(yàn),本文主要介紹了springboot aop方式實(shí)現(xiàn)接口入?yún)⑿r?yàn)的示例代碼,具有一定的參考價(jià)值,感興趣的可以了解一下2023-08-08
零基礎(chǔ)寫(xiě)python爬蟲(chóng)之抓取糗事百科代碼分享
前面我們介紹了如何抓取百度貼吧文章,然后講解了python的神器正則表達(dá)式,下面,我們就把2者結(jié)合起來(lái),詳細(xì)介紹下,如何來(lái)抓取到糗事百科里面的指定內(nèi)容2014-11-11
python中從for循環(huán)延申到推導(dǎo)式的具體使用
這篇文章主要介紹了python中從for循環(huán)延申到推導(dǎo)式的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-11-11
使用Python操作MySql數(shù)據(jù)庫(kù)和MsSql數(shù)據(jù)庫(kù)
這篇文章介紹了使用Python操作MySql數(shù)據(jù)庫(kù)和MsSql數(shù)據(jù)庫(kù)的方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-05-05
python使用cartopy在地圖中添加經(jīng)緯線的示例代碼
gridlines可以根據(jù)坐標(biāo)系,自動(dòng)繪制網(wǎng)格線,這對(duì)于普通繪圖來(lái)說(shuō)顯然不必單獨(dú)拿出來(lái)說(shuō)說(shuō),但在地圖中,經(jīng)緯線幾乎是必不可少的,本文將給大家介紹了python使用cartopy在地圖中添加經(jīng)緯線的方法,需要的朋友可以參考下2024-01-01

