python计算对角线有理函数插值的方法

yipeiwu_com6年前Python基础

本文实例讲述了python计算对角线有理函数插值的方法。分享给大家供大家参考。具体实现方法如下:

''' p = rational(xData,yData,x)
  Evaluates the diagonal rational function interpolant p(x)
  that passes through he data points
'''  
from numpy import zeros
def rational(xData,yData,x):
  m = len(xData)
  r = yData.copy()
  rOld = zeros(m)
  for k in range(m-1):
    for i in range(m-k-1):
      if abs(x - xData[i+k+1]) < 1.0e-9:
        return yData[i+k+1]
      else:
        c1 = r[i+1] - r[i]
        c2 = r[i+1] - rOld[i+1]
        c3 = (x - xData[i])/(x - xData[i+k+1])
        r[i] = r[i+1] + c1/(c3*(1.0 - c1/c2) - 1.0)
        rOld[i+1] = r[i+1]
  return r[0]

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

相关文章

python使用Pycharm创建一个Django项目

python使用Pycharm创建一个Django项目

本文为Django项目创建的简单介绍,更为详细的Django项目创建,可以参考如下教程: Django入门与实践-/post/64109.htm Pycharm 版本: Profess...

在Python中使用swapCase()方法转换大小写的教程

 swapCase()方法返回所有可大小写,基于字符大小写交换字符串的一个副本。 语法 以下是swapCase()方法的语法: str.swapcase(); 参数...

pandas计算最大连续间隔的方法

pandas计算最大连续间隔的方法

如下所示: 群里一朋友发了一个如上图的问题,解决方法如下 data = {'a':[1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2],'b':[1,2,3,4,...

Python入门篇之数字

Python入门篇之数字

数字类型   数字提供了标量贮存和直接访问。它是不可更改类型,也就是说变更数字的值会生成新的对象。当然,这个过程无论对程序员还是对用户都是透明的,并不会影响软件的开发方式。 P...

Python 编码处理-str与Unicode的区别

一篇关于STR和UNICODE的好文章 整理下python编码相关的内容 注意: 以下讨论为Python2.x版本, Py3k的待尝试 开始 用python处理中文时,读取文件或消息,h...