拉格朗日插值和埃尔米特插值
%% 2022-1-15拉格朗日插值法,Hermite插值
%生成插值节点
clc;clear all;close all;
t=[0:2*pi/100:2*pi];
X=linspace(0,2*pi,5);
y=sin(t);
Y=sin(X);%拉格朗日插值一共有5个点会产生4次多项式
k=1;syms x;L4x=0;
for k=1:5L=1;for i=1:5if k~=i;L=(x-X(i))./(X(k)-X(i)).*L; else continue;endendL4x=Y(k).*L+L4x;
end
XL=[0:2*pi/10:2*pi];
YL=zeros(size(XL));
for i=1:length(XL)YL(i)=subs(L4x,XL(i));
end
figure('Name','拉格朗日拟合','NumberTitle','off');
plot(XL,YL,'-ob',t,y);%Hermite插值,n=4,mo=3(有三介导x=0)
X=[0 0 0 0 0.5*pi];
Y=[0 0 0 0 1]
Y_1=[0 1 0 -1 1];
k=1:5;
df=zeros(5,3);
for i=1:5df(i,1)=Y(i);
end
for j=1:4for i=1:1:length(X)-jdx=X(i+1)-X(i);dy=Y(i+1)-Y(i);if dx~=0df(i,j+1)=dy./dx;%一阶差商elsedf( i,j+1)=Y_1(j+1)./ factorial(j);endend
end
%H=f(0)+f[0,0](x-0)+f[0,0,0](x-0)(x-0)+f[0 0 0 0](x-0)^3+f[0 0 0 0 1](x-0)^3*(x-0.5*pi)
syms x;L=0;
for j=1:5Lk=1;if j==1Lk=1;elsefor k=2:jLk= (x-df(k,1))*Lk;endendL=df(1,j)*Lk+L;
end
t=[0:0.5*pi/5:0.5*pi];
for i=1:length(t)Y(i)=subs(L,t(i));
end
figure('Name','埃尔米特插值','NumberTitle','off');
plot(t,Y,'-ob',t,sin(t));
拉格朗日插值和埃尔米特插值相关推荐
- 5.3 matlab数据插值(线性插值、最近点插值、埃尔米特插值、三次样条插值)
①数据插值可以根据有限个点的取值状况,合理估算出附近其他点的取值,从而节约大量的实验和测试资源,节省大量的人力.物力和财力. ②数据插值能够根据已知数据推算未知数据,这使得人们解决问题的能力得到了拓展 ...
- 数值分析-埃尔米特插值的概念、实现与应用
目录 一.引言 二.埃尔米特插值的基本概念 2.1 埃尔米特插值的定义 2.2 埃尔米特插值的优点 三.埃尔米特插值的实现方法 3.1 基于拉格朗日插值的埃尔米特插值 2.2 基于牛顿插值的埃尔米特插 ...
- 埃尔米特插值(等距节点,只用一个点的导数构造n+1阶Hermite多项式)Python实现
函数 y=11+x2y=11+x2 y = \frac{1}{1+x^2} 埃尔米特插值 埃尔米特多项式构造方法有很多种. 这里只是用最简单的一种,通过均差来进行构造,最后再通过任意一个点的导数来计算 ...
- 数值计算之 插值法(5)分段插值,埃尔米特插值
数值计算之 插值法(5)分段插值,埃尔米特插值 前言 分段插值 分段线性插值 分段二次插值 埃尔米特Hermite插值 埃尔米特插值原理 埃尔米特插值公式 分段三次埃尔米特插值 后记 前言 之前记录了 ...
- 数值分析笔记_3 埃尔米特插值
埃尔米特插值 本文内容完全原创,严禁抄袭. 我们知道,线性插值思想在于利用n个零点解出唯一的n维多项式映射,这种方法保证了曲线的连续性但是不能保证其平滑性,例如拉格朗日插值多项式在高次情况下容易出现的 ...
- hermit插值 matlab,埃尔米特(Hermite)插值及其MATLAB程序
%hermite.m %求埃尔米特多项式和误差估计的MATLAB主程序 %输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量, %以f'(x ...
- 插值与拟合 (一) : 拉格朗日多项式插值 、Newton插值 、分段线性插值、Hermite插值 、样条插值、 B 样条函数插值、二维插值
插值:求过已知有限个数据点的近似函数. 拟合:已知有限个数据点,求近似函数,不要求过已知数据点,只要求在某种意义下它在这些点上的总偏差最小. 插值和拟合都是要根据一组数据构造一个函数作为近似,由于近似 ...
- 数学建模插值法——三次埃尔米特插值三次样本插值(笔记)
今天学习了插值法的matlab实现. 我们接触过五种基本的插值方法,有拉格朗日插值.牛顿插值.分段线性插值.分段三次Hermite插值和样条插值(三次). 插值法在数学建模中的应用:数模比赛中,常常需 ...
- 清风数学建模学习笔记——应用matlab实现分段三次埃尔米特(Hermite)插值与三次样条插值
插值算法 数模比赛中,常常需要根据已知的函数点进行数据.模型的处理和分析,而有时候现有的数据是极少的,不足以支撑分析的进行,这时就需要使用一些数学的方法,模拟产生一些新的但又比较靠谱的值来满足需求 ...
最新文章
- Python的re模块 --- 正则表达式操作
- LightGBM模型_相关资料整理
- 炫酷大屏demo_可视化大屏动态效果
- 2 - 4 - 实例:X86的中断与异常机制(9-48)
- SpringBoot项目打成jar包后,无法读取resources下的文件
- NLP深度学习:近期趋势概述(二)
- cnpm : 无法加载文件_DELL 服务器R230 加载阵列卡驱动安装Server 2012R2操作系统
- XYGame-AI设计3-行为树-第1版本
- logback 配置详解(一)configuration and logger
- Django 找不到模版报错 django.template.exceptions.TemplateDoesNotExist: index.html
- SFS2X客户端全部事件详细
- 关于雄安新区的一点观察和思考
- Stencil Buffer(模板缓冲区)
- android文字多行滚动显示,Android实现在TextView文字过长时省略部分或滚动显示的方法...
- so运行出错:只包含了头文件,未同时编译cpp
- .NET中的Lambda表达式与匿名方法
- 【FFmpeg学习】H264 视频编码格式详细总结
- Python 实现Tracert追踪TTL值
- 杨森翔的书法:二月二;四条屏
- idea切换工作空间_IntelliJIDEA使用技巧