插值算法

插值法在较少的数据模型的基础上模拟产生新的靠谱数值,可以用来预测。

利用已知的点建立合适的插值函数 f(x) ,未知点 x_i 由插值函数 f(x) 可以求出函数值 f(x_i) ,用求得的 (x_i,f(x_i))近似代替未知点。


基本概念:

        y=f(x)在[a,b]上有定义 xi∈[a,b]是有yi与其对应,P(xi)=yi(i=0,1,2……n)

插值函数:P(x)

插值节点:x0,x1,……,xn

插值区间[a,b]

插值法:求插值函数P(x)

插值方法

多项式插值:P(x)为次数不超过n的代数多项式

分段插值:P(x)为分段多项式

三角插值:P(x)为三角多项式(一般用到傅里叶变换)


插值法原理

        有n+1个点(x_i,y_i) (i=0,1,2…n)存在唯一多项式:

L_n(x)=a_0 + a_i*x + a_2*x^2 + … + a_n*x^n

使L_n(x_j)=y_j(j=0,1,2…n)


拉格朗日插值法

计算一系列插值基函数:

利用基函数构造拉格朗日插值多项式: 

Runge现象

        高次插值会产生龙格现象:在两端处波动极大,产生明显震荡。不用高次插值!


分段插值

        分段线性插值:函数分段,相近的两个点构成一条线。

        分段二次插值:随机选择一点x,找与它相近的三个节点构造二次多项式,进行二次插值。分段抛物线代替y=f(x)。


牛顿插值法

        计算过程具有继承性,每次插值只与前n项的值有关,但也存在龙格现象。

 拉格朗日插值和牛顿插值的缺点:龙格现象、不能全面的反映被插值函数的性态(导数不对应)。


埃尔米特(Hermite)插值

        函数与被插值函数在所有节点处有相同的函数值,一个或全部节点上插值多项式与被插函数有相同的低阶、高阶导数值(保证插值函数平滑)。

分段三次埃尔米特插值!

        MATLAB内置的插值函数pchip

x = -pi:pi; %x横坐标范围(-pi到pi,步长为1)
y = sin(x);%y函数
new_x = -pi:0.1:pi;%新的横坐标new_x(-pi到pi,步长为0.1)
p = pchip(x,y,new_x);%p插值

画图

创建画布:figure(1);

        % 在同一个脚本文件里面,要想画多个图,需要给每个图编号,否则只会显示最后一个图


plot(x, y, 'o', new_x, p, 'r--')

plot(x1,y1,x2,y2) 

修饰:
线方式: - 实线    :点线     -. 虚点线   - - 波折线 
点方式: . 圆点    +加号    * 星号        x形     o小圆
颜色: y黄; r红; g绿; b蓝; w白; k黑; m紫; c青

图标:
LEGEND(string1,string2,string3, …)
分别将字符串1、字符串2、字符串3……标注到图中,每个字符串对应的图标为画图时的图标(修饰)。
‘Location’用来指定标注显示的位置
 

plot(x,y)%至少输入横坐标和纵坐标

 

plot(x, y, 'o', new_x, p, 'r--')


三次样条插值!

        二阶连续可微。在每个子区间是三次多项式。最精准

        MATLAB内置函数p=spline(x,y,new_x)

        与pchip用法一样

两种插值对比图: 

x = -pi:pi; 
y = sin(x); 
new_x = -pi:0.1:pi;
p1 = pchip(x,y,new_x);   %分段三次埃尔米特插值
p2 = spline(x,y,new_x);  %三次样条插值
figure(2);
plot(x,y,'o',new_x,p1,'r-',new_x,p2,'b-')
legend('样本点','三次埃尔米特插值','三次样条插值','Location','SouthEast')   %标注显示在东南方向
%

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/13182.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器学习基础之《特征工程(2)—特征工程介绍、特征抽取》

一、什么是特征工程 机器学习领域的大神Andrew Ng(吴恩达)老师说“Coming up with features is difficult, time-consuming, requires expert knowledge. “Applied machine learning” is basically feature engineering. ” 注:业界广泛流传:数据和特…

vue创建项目报错npm install --loglevel error --legacy-peer-deps

vue创建项目报错npm install --loglevel error --legacy-peer-deps 如图所示: 话不多说,直接上解决方法: 1、找到这两个文件(每个人的位置不一样,像我是安装在D盘) 2、分别点进去,右键—属性…

时间序列预测 | Matlab麻雀算法(SSA)优化极限梯度提升树XGBoost时间序列预测,SSA-XGBoost时间序列预测模型,单列数据输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 麻雀算法(SSA)优化极限梯度提升树XGBoost时间序列预测,SSA-XGBoost时间序列预测模型,单列数据输入模型 评价指标包括:MAPE、RMSE等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码

0基础学习VR全景平台篇 第57篇:高级功能-多语言

功能位置示意 一、本功能将用在哪里? 多语言功能,可一键设置作品界面语言为中/英文,或跟随系统自动切换中/英文,各位可以用户可以轻松制作英文版VR全景作品,满足国外用户访问的需求。 此外蛙色VR平台,可通…

Linux内核源码下载

参考文章:https://blog.csdn.net/m0_49328056/article/details/121669035 一、git命令下载 1、进入官网:https://www.kernel.org/ mainline(主线版本)、stable(稳定版本)、longterm(长期演进版…

Redis实战案例13-集群下的并发安全问题

在解决一人一单的问题上面,采用了悲观锁的方案,但是这种方案只适合单机情况,在集群的模式下就不适用了; 覆盖yaml文件中的端口号 修改nginx中conf,这样就可以反向代理到两个节点上去,轮询的负载均衡规则&am…

尚硅谷Docker实战教程-笔记10【高级篇,Docker微服务实战】

尚硅谷大数据技术-教程-学习路线-笔记汇总表【课程资料下载】视频地址:尚硅谷Docker实战教程(docker教程天花板)_哔哩哔哩_bilibili 尚硅谷Docker实战教程-笔记01【基础篇,Docker理念简介、官网介绍、平台入门图解、平台架构图解】…

1.1 熟悉x64dbg调试器

x64dbg 是一款开源、免费、功能强大的动态反汇编调试器,它能够在Windows平台上进行应用程序的反汇编、调试和分析工作。与传统的调试器如Ollydbg相比,x64dbg调试器的出现填补了Ollydbg等传统调试器的不足,为反汇编调试工作提供了更高效、更可…

【动手学习深度学习--逐行代码解析合集】10Dropout暂退法

【动手学习深度学习】逐行代码解析合集 10Dropout暂退法 视频链接:动手学习深度学习–Dropout暂退法 课程主页:https://courses.d2l.ai/zh-v2/ 教材:https://zh-v2.d2l.ai/ 1、暂退法原理 2、从零开始实现暂退法 import torch from torch i…

linux 创建一个线程的基础开销探讨

测试代码 测试方法比较笨,每修改一次线程数,就重新编译一次,再运行。在程序运行过程中,查看到进程 pid,然后通过以下命令查看进程的运行状态信息输出到以线程数为名字的日志文件中,最后用 vimdiff 对比文件…

chatglm docker镜像,一键部署chatglm本地知识库

好久没有写文章了,今天有空,记录一下chatglm本地知识库的docker镜像制作过程。 核心程序是基于“闻达”开源项目,稍作改动。镜像可以直接启动运行,大家感兴趣可以进入镜像内部查看,代码位于 /app 目录下。 一、制作镜…

多元分类预测 | Matlab全连接神经网络(DNN)分类预测,多特征输入模型

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 全连接神经网络(DNN)分类预测,多特征输入模型 多特征输入单输出的二分类及多分类模型。程序内注释详细,直接替换数据就可以用。程序语言为matlab,程序可出分类效果图,迭代优化图,混淆矩阵图。 部分源码