手机
当前位置:查字典教程网 >脚本专栏 >python >python计算方程式根的方法
python计算方程式根的方法
摘要:本文实例讲述了python计算方程式根的方法。分享给大家供大家参考。具体实现方法如下:'''roots=polyRoots(a).UsesL...

本文实例讲述了python计算方程式根的方法。分享给大家供大家参考。具体实现方法如下:

''' 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")

希望本文所述对大家的Python程序设计有所帮助。

【python计算方程式根的方法】相关文章:

python计算程序开始到程序结束的运行时间和程序运行的CPU时间

Python 条件判断的缩写方法

python操作MySQL数据库的方法分享

pydev使用wxpython找不到路径的解决方法

Python下singleton模式的实现方法

python二叉树遍历的实现方法

python中精确输出JSON浮点数的方法

Python 开发Activex组件方法

netbeans7安装python插件的方法图解

如何运行Python程序的方法

精品推荐
分类导航