不多话。Nowton插值多项式(非等距节点)代码:

 1 # -*- coding: utf-8 -*-
2 """
3 Created on Wed Mar 25 15:43:42 2020
4
5 @author: 35035
6 """
7
8
9 import numpy as np
10
11 # Newton插值多项式
12 def Newton_iplt(x, y, xi):
13 """x,y是插值节点array,xi是一个值"""
14
15 n = len(x)
16 m = len(y)
17 if n != m:
18 print('Error!')
19 return None
20 # 先计算差商表(cs)
21 cs = []
22 temp = y.copy()
23 for i in range(n):
24 if i != 0:
25 iv_1 = temp[i - 1]
26 for j in range(i, n):
27 iv_2 = temp[j]
28 temp[j] = (iv_2 - iv_1) / (x[j] - x[j - i])
29 iv_1 = iv_2
30 cs.append(temp[i])
31 # 再计算Newton插值
32 ans = 0
33 for i in range(n):
34 w = 1
35 # 计算多项式部分,让差商表作为其系数
36 for j in range(i):
37 w *= (xi - x[j])
38 ans += w*cs[i]
39 return ans
40
41 # 当对多个值使用Newton插值时,使用map()建立映射:
42 # Iterator = map(Newton, Iterable)
43
44 # 数值运算时使用float参与运算,dtype定为内置float
45
46 x = np.array((100, 121), dtype = float)
47 y = np.array((10, 11), dtype = float)
48 print(Newton_iplt(x, y, 115))
49
50 x = np.array((1,2,3,4,5,6), dtype=float)
51 y = np.array((1.0, 1.2599, 1.4422, 1.5874, 1.71, 1.8171), dtype=float)
52 print(Newton_iplt(x, y, 5.6))
53 # 结果:10.71428 1.7754 测试成功!

在Nowton插值多项式中,差商表的计算至关重要,而对于等距节点的Newton插值,则转为计算差分表。

插值方法 - Newton多项式(非等距节点)的更多相关文章

  1. 插值方法 - Newton向前向后等距插值

    通常我们在求插值节点的开头部分插值点附近函数值时,使用Newton前插公式:求插值节点的末尾部分插值点附近函数值时,使用Newton后插公式. 代码: 1 # -*- coding: utf-8 -* ...

  2. 数值计算方法实验之Newton 多项式插值(MATLAB代码)

    一.实验目的 在己知f(x),x∈[a,b]的表达式,但函数值不便计算或不知f(x),x∈[a,b]而又需要给出其在[a,b]上的值时,按插值原则f(xi)=yi (i=0,1,……, n)求出简单函 ...

  3. 数值计算方法实验之newton多项式插值 (Python 代码)

    一.实验目的 在己知f(x),x∈[a,b]的表达式,但函数值不便计算或不知f(x),x∈[a,b]而又需要给出其在[a,b]上的值时,按插值原则f(xi)=yi (i=0,1,……, n)求出简单函 ...

  4. config文件声明非系统节点的方法

    有一些自定义节点如果不声明会报出无法识别的节点 XXX 这时候要声明该节点 写法如下 <configSections> <!--声明一个节点组--> <sectionGr ...

  5. jQuery 选择器选中某节点,在后续的链式操作函数内使用 $(this) 的结果是 Window 对象,而非该节点对象

    <ul class="tree-ocx"> <li class="tree-ocx-li" data-displayed="fals ...

  6. 概率图模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-多项式贝叶斯

    之前忘记强调了一个重要差别:条件概率链式法则和贝叶斯网络链式法则的差别 条件概率链式法则 贝叶斯网络链式法则,如图1 图1 乍一看非常easy认为贝叶斯网络链式法则不就是大家曾经学的链式法则么,事实上 ...

  7. 概率图形模型(PGM)学习笔记(四)-贝叶斯网络-伯努利贝叶斯-贝叶斯多项式

    之前忘记强调重要的差异:链式法则的条件概率和贝叶斯网络的链式法则之间的差异 条件概率链式法则 P\left({D,I,G,S,L} \right) = P\left( D \right)P\left( ...

  8. 小白专场-多项式乘法与加法运算-python语言实现

    目录 题意理解 解题思路 多项式加法 多项式乘法 完整代码 题意理解 题目: 设计函数分别求两个一元多项式的乘积与和. 输入格式: 输入分2行,每行分别先给出多项式非零项的个数,再以指数递降方式输入一 ...

  9. 数值计算方法实验之Hermite 多项式插值 (Python 代码)

    一.实验目的 在已知f(x),x∈[a,b]的表达式,但函数值不便计算,或不知f(x),x∈[a,b]而又需要给出其在[a,b]上的值时,按插值原则f(xi)= yi(i= 0,1…….,n)求出简单 ...

随机推荐

  1. windows server 2012 r2 修改administrator密码

    转至:https://jingyan.baidu.com/article/b907e627b615b646e7891cbf.html 1.进入开始面板,点击"管理工具". 2.双击 ...

  2. HTML分块

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>菜鸟 ...

  3. mapreduce类型对应

    public class OrderBean implements WritableComparable<OrderBean> { private Integer order_id; // ...

  4. Python数据类型的if判断

    Python数据类型的if判断 1.字符串判断 # -*- coding: utf-8 -*- ''' @Time : 2021/12/13 15:56 @Author : ziqingbaojian ...

  5. Centos部署Loki日志聚合系统

    关于一些日志聚合由来及原理科普见我的另外一篇 <编程入门之日志聚合系统> https://www.cnblogs.com/uncleguo/p/15948763.html Loki日志聚合 ...

  6. Python——序列与字符串

    序列与字符串 一. 列表 列表是Python的内置可变序列,是包含若干元素的有序连续内存空间.同一列表元素的数据类型可以各不相同,可以分别为整数.实数.字符串等基本类型,也可以是列表.元组.字典.集合 ...

  7. 六、Java方法

    Java方法 何为方法 System.out.println(),那么它是什么呢? ​ System是一个类,out是一个对象,println()是一个方法 Java方法是语句的集合,它们在一起执行的 ...

  8. VUE3 之 多个元素之间的过渡 - 这个系列的教程通俗易懂,适合新手

    1. 概述 老话说的好:过去不等于未来,过去成功了不代表将来也会成功,过去失败了也不代表将来也会失败. 言归正传,今天我们聊聊多个元素之间的过渡. 2. 多个元素之间的过渡 2.1 两个元素交替显示 ...

  9. 面试题--Nginx

    Nginx面试题 整理自网络,侵权删 1.请解释一下什么是Nginx? Nginx是一个web服务器和反向代理服务器,用于http.https.smtp.pop3和IMAP协议 2.请列举Nginx的 ...

  10. NOIP集训题目解析

    11.01 子段和 题目大意 给定一个长度为 \(n\) 的序列 \(a\) ,\(a_i=\{ -1,0,1 \}\) ,需要将 \(a\) 中的 \(0\) 变为 \(1\) 或 \(-1\) , ...