Matlab艾尔米特插值

编程入门 行业动态 更新时间:2024-10-25 08:23:04

Matlab<a href=https://www.elefans.com/category/jswz/34/1698458.html style=艾尔米特插值"/>

Matlab艾尔米特插值

埃尔米特插值应用实例。

根据下表所示的数据实例求出埃尔米特插值多项式,并计算当x=0.2时的y值

M文件代码

function f = Hermite( x,y,y_1,x0 )
%Hermite.m插值求已知数据点的艾尔米特插值多项式
%x为数据点的x坐标向量
%y为数据点的y坐标向量
%x0为插值的x坐标
%f为求得的埃尔米特插值多项式或在x0处的插值
syms t;
f=0.0;
if (length(x)==length(y))if(length(y)==length(y_1))n=length(x);elsedisp('y和y的导数不相等!');return;end
elsedisp('x和y的维数不相等!');return;
end
for i=1:nh=1.0;a=0.0;for j=1:nif(j~=i)h=h*(t-x(j))^2/((x(i)-x(j))^2);a=a+1/(x(i)-x(j));endendf=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);elsef=vpa(f,6);endend
end

脚本文件代码

clc;clear all;
x=[1 1.2 1.4 1.6 1.8];
y=[1 1.0954 1.1832 1.2649 1.3416];
y_1=[0.5000 0.4516 0.4226 0.3953 0.3727];
disp('显示Hermite插值多项式:');
f=Hermite(x,y,y_1)
disp('显示在x=1.8处的Hermite插值:')
f=Hermite(x,y,y_1,1.8)

显示结果

更多推荐

Matlab艾尔米特插值

本文发布于:2024-03-09 08:56:34,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1724533.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:艾尔   插值   Matlab

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!