python计算方程式根的方法


Posted in Python onMay 07, 2015

本文实例讲述了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 相关文章推荐
ptyhon实现sitemap生成示例
Mar 30 Python
Python语言实现将图片转化为html页面
Dec 06 Python
python使用Tesseract库识别验证
Mar 21 Python
python实现批量按比例缩放图片效果
Mar 30 Python
python清除字符串前后空格函数的方法
Oct 21 Python
Django后台admin的使用详解
Jul 08 Python
python opencv将图片转为灰度图的方法示例
Jul 31 Python
Python爬虫使用代理IP的实现
Oct 27 Python
使用sklearn对多分类的每个类别进行指标评价操作
Jun 11 Python
python右对齐的实例方法
Jul 05 Python
Pytest单元测试框架如何实现参数化
Sep 05 Python
实现Python3数组旋转的3种算法实例
Sep 16 Python
python计算牛顿迭代多项式实例分析
May 07 #Python
用C++封装MySQL的API的教程
May 06 #Python
使用wxPython获取系统剪贴板中的数据的教程
May 06 #Python
用Python遍历C盘dll文件的方法
May 06 #Python
使用Python压缩和解压缩zip文件的教程
May 06 #Python
Python发送以整个文件夹的内容为附件的邮件的教程
May 06 #Python
在Linux中通过Python脚本访问mdb数据库的方法
May 06 #Python
You might like
PHP无刷新上传文件实现代码
2011/09/19 PHP
深入php常用函数的使用汇总
2013/06/08 PHP
PHP长连接实现与使用方法详解
2018/02/11 PHP
PHP isset empty函数相关面试题及解析
2020/12/11 PHP
JavaScript 字符串连接性能优化
2008/12/20 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
Jquery 模板数据绑定插件的使用方法详解
2013/07/08 Javascript
[将免费进行到底]在Amazon的一年免费服务器上安装Node.JS, NPM和OurJS博客
2014/08/18 Javascript
加随机数引入脚本不让浏览器读取缓存
2014/09/04 Javascript
JavaScript判断字符长度、数字、Email、电话等常用判断函数分享
2015/04/01 Javascript
Javascript 高阶函数使用介绍
2015/06/15 Javascript
高效Web开发的10个jQuery代码片段
2016/07/22 Javascript
基于JavaScript实现轮播图原理及示例
2020/04/10 Javascript
如何理解Vue的.sync修饰符的使用
2017/08/17 Javascript
node+express框架中连接使用mysql(经验总结)
2018/11/10 Javascript
vue缓存的keepalive页面刷新数据的方法
2019/04/23 Javascript
JavaScript函数IIFE使用详解
2019/10/21 Javascript
python使用socket远程连接错误处理方法
2015/04/29 Python
PyCharm+Qt Designer+PyUIC安装配置教程详解
2019/06/13 Python
django使用JWT保存用户登录信息
2020/04/22 Python
django 模型中的计算字段实例
2020/05/19 Python
Keras 加载已经训练好的模型进行预测操作
2020/06/17 Python
Python打印不合法的文件名
2020/07/31 Python
加拿大女包品牌:Matt & Nat
2017/05/12 全球购物
anello泰国官方网站:日本流行包包品牌
2019/08/08 全球购物
美国第一大药店连锁机构:Walgreens(沃尔格林)
2019/10/10 全球购物
是否有自动比较结构的方法
2015/06/03 面试题
在使用非全零作为空指针内部表达的机器上, NULL是如何定义
2014/11/09 面试题
热能动力工程毕业生自荐信
2013/11/07 职场文书
酒吧员工的岗位职责
2013/11/26 职场文书
护士实习生自我鉴定范文
2013/12/10 职场文书
运动会广播稿30字
2014/01/21 职场文书
转预备党员政审材料
2014/02/06 职场文书
工作证明格式及范本
2014/09/12 职场文书
go goroutine 怎样进行错误处理
2021/07/16 Golang
SpringDataJPA实体类关系映射配置方式
2021/12/06 Java/Android