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中urlparse模块介绍与使用示例

简介 urlparse模块主要是用于解析url中的参数  对url按照一定格式进行 拆分或拼接。urlparse库用于把url解析为各个组件,支持file,ftp,http,h...

python 不关闭控制台的实现方法

直接打开dos窗口,再执行python程序 在脚本的最后一行后面添加:raw_input()语句,这样直到按下回车键,窗口才关闭。 使用time模块的sleep函数,它有一个参数,传入数...

分析运行中的 Python 进程详细解析

在 Java 中打印当前线程的方法栈,可以用 kill -3 命令向 JVM 发送一个 OS 信号,JVM 捕捉以后会自动 dump 出来;当然,也可以直接使用 jstack 工具完成,...

解决pycharm上的jupyter notebook端口被占用问题

解决pycharm上的jupyter notebook端口被占用问题

在pycharm中的jupyter notebook上经常会出现端口被占用,ipython的port端口一般是8888 如果打开了jupyter notebook,而没有关闭时,再次打开...

python append、extend与insert的区别

最近在自学Python语言,看到向列表增加更多数据时被append(),extend(),insert()方法绕晕了。 append 和extend都只需要一个参数,并且自动添加到数组末...