数值分析之Neville's Algorithm
Neville插值方法详解
牛顿的插值方法涉及两个步骤:计算系数,随后评估多项式。 如果插值运作良好使用相同的多项式在x的不同值处重复执行。 要是一点是内插,一种单步计算插值的方法,如Neville的算法,是一个更方便的选择。
4个数据点的表格
| k=0 | k=1 | k=2 | k=3 | |
|---|---|---|---|---|
| x0 | P0[x0]=y0 | P1[x0,x1] | P2[x0,x1,x2] | P3[x0,x1,x2,x3] |
| x1 | P0[x1]=y1 | P1[x1,x2] | P2[x1,x2,x3] | |
| x2 | P0[x2]=y2 | P1[x2,x3] | ||
| x3 | P0[x3]=y3 |
通项公式
4个数据点的计算公式
| k=0 | k=1 | k=2 | k=3 | |
|---|---|---|---|---|
| x0 | P0[x0]=y0 | P1[x0,x1]=(x−x1)P0[x0]+(x0−x)P0[x1]x0−x1 | P2[x0,x1,x2]=(x−x2)P1[x0,x1]+(x0−x)P1[x1,x2]x0−x2 | P3[x0,x1,x2,x3]=(x−x3)P2[x0,x1,x2]+(x0−x)P2[x1,x2,x3]x0−x3 |
| x1 | P0[x1]=y1 | P1[x1,x2]=(x−x2)P0[x1]+(x1−x)P0[x2]x1−x2 | P2[x1,x2,x3]=(x−x3)P1[x1,x2]+(x1−x)P1[x2,x3]x1−x3 | |
| x2 | P0[x2]=y2 | P1[x2,x3]=(x−x3)P0[x2]+(x2−x)P0[x3]x2−x3 | ||
| x3 | P0[x3]=y3 |
Neville算法Python代码
import numpy as np
def neville(xData,yData,x):
m = len(xData)
A = np.zeros((m,m)) # A代表计算表格
A[:,0]=np.array(np.array(yData))
for k in range(1,m):
for i in range(m-k):
A[i,k]=((x-xData[i+1])*A[i,k-1]+(xData[i]-x)*A[i+1,k-1])/(xData[i]-xData[i+1])
return A
案例分析
yData = [4.0, 3.9, 3.8, 3.7]
xData = [-0.06604, -0.02724, 0.01282, 0.05383]
neville(xData,yData,0)
计算结果:

<wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">
数值分析之Neville's Algorithm的更多相关文章
- Neville 插值方法
简介 wikipedia: Neville's method 在数学上,Neville 算法是一种计算插值多项式方法,由数学家Eric Harold Neville提出.由给定的n+1个节点,存在一个 ...
- OpenCASCADE Root-Finding Algorithm
OpenCASCADE Root-Finding Algorithm eryar@163.com Abstract. A root-finding algorithm is a numerical m ...
- 数据结构(DataStructure)与算法(Algorithm)、STL应用
catalogue . 引论 . 数据结构的概念 . 逻辑结构实例 2.1 堆栈 2.2 队列 2.3 树形结构 二叉树 . 物理结构实例 3.1 链表 单向线性链表 单向循环链表 双向线性链表 双向 ...
- 挑子学习笔记:两步聚类算法(TwoStep Cluster Algorithm)——改进的BIRCH算法
转载请标明出处:http://www.cnblogs.com/tiaozistudy/p/twostep_cluster_algorithm.html 两步聚类算法是在SPSS Modeler中使用的 ...
- PE Checksum Algorithm的较简实现
这篇BLOG是我很早以前写的,因为现在搬移到CNBLOGS了,经过整理后重新发出来. 工作之前的几年一直都在搞计算机安全/病毒相关的东西(纯学习,不作恶),其中PE文件格式是必须知识.有些PE文件,比 ...
- [异常解决] windows用SSH和linux同步文件&linux开启SSH&ssh client 报 algorithm negotiation failed的解决方法之一
1.安装.配置与启动 SSH分客户端openssh-client和openssh-server 如果你只是想登陆别的机器的SSH只需要安装openssh-client(ubuntu有默认安装,如果没有 ...
- [Algorithm] 使用SimHash进行海量文本去重
在之前的两篇博文分别介绍了常用的hash方法([Data Structure & Algorithm] Hash那点事儿)以及局部敏感hash算法([Algorithm] 局部敏感哈希算法(L ...
- Backtracking algorithm: rat in maze
Sept. 10, 2015 Study again the back tracking algorithm using recursive solution, rat in maze, a clas ...
- [Algorithm & NLP] 文本深度表示模型——word2vec&doc2vec词向量模型
深度学习掀开了机器学习的新篇章,目前深度学习应用于图像和语音已经产生了突破性的研究进展.深度学习一直被人们推崇为一种类似于人脑结构的人工智能算法,那为什么深度学习在语义分析领域仍然没有实质性的进展呢? ...
随机推荐
- Python爬虫-爬取糗事百科段子
闲来无事,学学python爬虫. 在正式学爬虫前,简单学习了下HTML和CSS,了解了网页的基本结构后,更加快速入门. 1.获取糗事百科url http://www.qiushibaike.com/h ...
- 简单解决“ORA-27100: shared memory realm already exists”的问题
背景 看到这篇文章,算是当初记录过程的一篇了,不像别的,只是有个结果算火.只是感觉到现在可能是碰不见这个问题了,现在哪有32位的oracle啊.可见技术随着岁月的变化,真不知10年后再看今天的问题,可 ...
- 通过htaccess文件配置多个一级域名指向根目录的子文件夹
创建.htaccess文件,在Windows系统创建时要写成“.htaccess.”,不带双引号,否则不会创建成功. <IfModule mod_rewrite.c> Options +F ...
- 09-伪数组 arguments
arguments代表的是实参.有个讲究的地方是:arguments只在函数中使用. (1)返回函数实参的个数:arguments.length 例子: fn(2,4); fn(2,4,6); fn( ...
- npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法
npm ERR! path E:\SouthernPowerGridProject\web_project\AutoOPS\autoops\node_modules\fsevents\node_mod ...
- 自己理解Java中的lambda
lambda是什么 "Lambda 表达式"(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lam ...
- PHP: POST Content-Length of xxx bytes exceeds the limit of 8388608 bytes
用户上传了 4 个附件,每个小于 5M,但是总大小超过了 15 M. 在 Nginx 日志中找到了如下错误信息,还没有到 Laravel 日志那一层. 2018/08/13 10:14:38 [err ...
- Route pattern cannot reference variable name more than once
在用 Laravel Backpack 写一个定制化的 CRUD 页面.例如,一个指定店铺所拥有的商品的 CRUD 页面. 起初路由我是这样写的 CRUD::resource('products-of ...
- pytest三:fixture_conftest.py 自定义测试用例的预置条件(setup)
用例加 setup 和 teardown 可以实现在测试用例之前或之后加入一些操作,但返种是整个脚本全局生效的,如果我想实现以下场景:用例 1 需要先登录,用例 2 不需要登录,用例 3 需要先登录. ...
- python接口自动化测试二十:函数写接口测试
# coding:utf-8import requestsimport refrom bs4 import BeautifulSoup # s = requests.session() # 全局的s ...