艾尔米特插值的MATLAB实现,埃尔米特(Hermite)插值
Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值。对于高阶导数的情况,Hermite插值多项式比较复杂,在实际情况中,常常遇到的是函数值与一阶导数给定的情况。在此情况下,n个节点x1,x2,…,xn的Hermite插值多项式的表达式如下:
其中:
这样就很容易写出代码了,关键就是记住公式。
matlab中的实现:
Hermite.m
function f = Hermite(x,y,y_1,x0)
%求已知数据点的向后差分牛顿插值多项式
%已知数据点的x 坐标向量:x
%已知数据点的y 坐标向量:y
%已知数据点的导数向量:y_1
%求得的Hermite插值多项式或x0处的插值:f
syms t;
f = 0.0;
if(length(x) == length(y))
if(length(y) == length(y_1))
n = length(x);
else
disp('y和y的导数的维数不相等!');
return;
end
else
disp('x和y的维数不相等!');
return;
end
for i=1:n
h = 1.0;
a = 0.0;
%%计算hi和ai
for j=1:n
if( j ~= i)
h = h*(t-x(j))^2/((x(i)-x(j))^2);
a = a + 1/(x(i)-x(j));
end
end
f = f + h*((x(i)-t)*(2*a*y(i)-y_1(i))+y(i));
if(i==n)
if(nargin == 4)
f = subs(f,'t',x0);
else
f = vpa(f,6);
end
end
end
HermiteInsert.m
x=1:0.2:1.8;
y=[1 1.0954 1.1832 1.2649 1.3416];
y_1=[0.5 0.4564 0.4226 0.3953 0.3727];
f=Hermite(x,y,y_1)
f=Hermite(x,y,y_1,1.44)
x1=0:2*pi;
y1=sin(x1);
y1_1=cos(x1);
xx=0:0.5:2*pi;
yy=Hermite(x1,y1,y1_1,xx);
plot(x1,y1,'o',xx,yy,'r')
本文同步分享在 博客“风翼冰舟”(CSDN)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
艾尔米特插值的MATLAB实现,埃尔米特(Hermite)插值相关推荐
- c语言埃尔米特插值思路,【数学建模算法】(26)插值和拟合:埃尔米特(Hermite)插值和样条插值...
1.埃尔米特(Hermite)插值 1.1.Hermite插值多项式 如果对插值函数,不仅要求它在节点处与函数同值,而且要求它与函数有相同的一阶.二阶甚至更高阶的导数值,这就是 Hermite 插值问 ...
- 插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值
插值:求过已知有限个数据点的近似函数. 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小. 插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似 ...
- 埃尔米特(Hermite)插值
Hermite插值满足在节点上等于给定函数值,而且在节点上的导数值也等于给定的导数值.对于高阶导数的情况,Hermite插值多项式比较复杂,在实际情况中,常常遇到的是函数值与一阶导数给定的情况.在此情 ...
- 数学建模准备 插值(拉格朗日多项式插值,牛顿多项式插值,分段线性插值,分段三次样条插值,分段三次Hermite插值)
文章目录 摘要(必看) 0 基础概念 什么是插值 插值用途 什么是拟合 插值和拟合的相同点 插值和拟合的不同点 1 常用的基本插值方法 1.1 多项式插值法 1.1.1 拉格朗日多项式插值法 多项式插 ...
- 埃尔米特(Hermite)插值及其MATLAB程序
%hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...
- hermit插值 matlab,埃尔米特(Hermite)插值及其MATLAB程序
%hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...
- 埃尔米特插值c语言编程,131张艳-埃尔米特(Hermite)插值逼近的C语言程序.doc
PAGE PAGE 1 论文题目:埃尔米特(Hermite) 插值逼近的C语言程序 院 系: 数学科学学院 专 业: 数学与应用数学 姓 名: 张 艳 学 号: 指导教师: 侯 存 贵 完成时间: 2 ...
- 2021-07-21 分段三次Hermite插值及其与三次样条的比较
Numpy数组自身加和与乘积运算 http://www.weixueyuan.net/a/794.html python-scipy -hermite插值,分段三次Hermite插值 import n ...
- 【经典】纪念米加艾尔·塔利维尔吉耶夫《春天的17个瞬间》音乐会[部分]
米加艾尔·塔利维尔吉耶夫 他是俄罗斯音乐的代言人,他用烂漫的童心谱写出恒久的感动.他是影视音乐的大师,他用诗意的旋律勾勒出不凡的人生轨迹.音乐故事,精彩呈现<春天的瞬间>系列节目-- 有作 ...
最新文章
- [python教程入门学习]python学习笔记(CMD执行文件并传入参数)
- 嵌入式学习笔记之二(静态链接与动态链接)
- Bash : test 命令
- java怎么做沙子合并_dp之沙子合并 环形沙子合并 沙子合并加强 沙子三兄弟的故事...
- 1. Visio Web 形状 - 无法与 Web 服务器建立连接。请稍后重新进行搜索。处理方式...
- 离群值如何处理_有理处理离群值的局限性
- 银行死都不告诉你的10个秘密
- 数据时代总结思维导图模板分享及绘制技巧
- c# combobox 绑定枚举方式
- CSS样式表——列表与布局
- 利用PLC1200和elmo驱动器对maxon RE40电机的两种控制方式(PWM(PTO)或者模拟量控制)
- 理解collate Chinese_PRC_CI_AS ,请看实例:sql语句中如何识别字符串中的中文逗号的问题
- 企企通携手“浙江制造”品牌【安诺化学】,一站式采购管理助推企业数字化建设
- Silverlight 教程第二部分:使用布局管理 (木野狐译) 1
- 原创 | 机器学习数学推导与代码实现30讲.pdf
- Edgedetect 边沿检测(Verilog)
- 科研工具流1——Zotero管理文献
- AE按行政区范围加载图层数据(转载)
- 用Python和Pygame写游戏-从入门到精通(16)
- 联想服务器sr650硬件配置表,ThinkSystem SR650规格解读_联想 System x3650 M4_服务器x86服务器-中关村在线...
热门文章
- kali Linux隐藏IP教程,Kali Linux 设置动/静态IP地址以及修改DNS
- 推箱子游戏 java源代码_java推箱子游戏源代码(含推箱子的判断)
- 计算机二级的Word知识点,计算机二级word知识点「干货」
- 算法题:SOJ1092: 欧几里得算法
- 保险行业防范网络犯罪新思路
- 知识共享协议与版权声明
- Excel实现线性回归分析——高尔顿数据集、四重奏数据集
- 数据库设计的基本步骤
- 《开源软件开发导论》作业1
- docker load镜像报错:open /var/lib/docker/tmp/docker-import-525555606/repositories: no such file or direc