怎么用matlab利用拉格朗日插值计算法的原理编写并计算函数所在节点的近似值。 谢谢。

怎么用matlab利用拉格朗日插值计算法的原理编写并计算函数所在节点的近似值。 谢谢。,第1张

m文件

function yy=lagrange(x1,y1,xx)

%本程序为Lagrange1插值,其中x1,y1

%为插值节点和节点上的函数值,输出为插值点xx的函数值,

%xx可以是向量。

syms x

n=length(x1);

for i=1:n

t=x1;t(i)=[];L(i)=prod((x-t)/(x1(i)-t));% L向量用来存放插值基函数

end

u=sum(Ly1);

p=simplify(u) % p是简化后的Lagrange插值函数(字符串)

yy=subs(p,x,xx);

clf

plot(x1,y1,'ro',xx,yy,'')

====================================

x=[ 04 05 06 07 08];

y=[-0916291;-0693147;-0510826;-0356675;-0223144]';

yy=lagrange(x,y,054)

p =

- (14363668061545223x^4)/6755399441055744 + (229230406283396627x^3)/33776997205278720 - (6086876668119665137x^2)/675539944105574400 + (23595121244981107513x)/3377699720527872000 - 186390055565518223/70368744177664000

yy =

-06161

分段线性插值就是满足shape-preserving的。Matlab里有这样的命令,直接调用,非常简单,自己去查。

而所有高于二次的多项式插值方法,都会产生虚假的波动,不具备保形效果。

在要求shape-preserving的同时,如果对插值精度没有要求,那么分段线性插值就非常好了,其缺陷仅在于插值曲线连续但不光滑(即导数不连续)。

Matlab中的一维插值函数为yi=(x,y,xi,method),其中method选取"nearest"(临近点插值)或"linear"(线性插值)都是保形的。

不知道你是否清楚所做实验对象的模型,大概是几次多项式。建议在读入角度、力的数据后,用polyfit进行相应模型次数的插值,确立两者之间的函数关系,然后再用polyval计算相应插值点函数值。这样,在polyfit后,可以输出拟合函数图形,看拟合函数是否满足需要,不行的话可以再次提高多项式的次数。

我看看我有没有,好像我有一个拉格朗日插值法的程序

function h = hlagr2(L,x)

% HLAGR2

% MATLAB m-file for fractional delay approximation

%拉格朗日插值法的实现函数

% by LAGRANGE INTERPOLATION method

% h = hlagr2(L,x) returns a length L (real) FIR

% filter which approximates the fractional delay

% of x samples

% Input: L = filter length (filter order N = L-1)

% x = fractional delay (0 < x <= 1)

% Output: Filter coefficient vector h(1)h(L)

% Subroutines: standard MATLAB functions

N = L-1; % filter order

M = N/2; % middle value

if (M-round(M))==0 D=x+M; % integer part closest to middle

else D=x+M-05; end;

%

h=ones(1,(N+1));

%

for n=0:N

n1=n+1;

for k=0:N

if (k~=n)

h(n1) = h(n1)(D-k)/(n-k);

end % if

end; % for k

end; % for n

这个是用于分数延迟滤波器中拉格朗日插值法的,你可以试试看。或者仿照一下。

以上就是关于怎么用matlab利用拉格朗日插值计算法的原理编写并计算函数所在节点的近似值。 谢谢。全部的内容,包括:怎么用matlab利用拉格朗日插值计算法的原理编写并计算函数所在节点的近似值。 谢谢。、分段插值方法有分段线性插值、Hermit插值民及保形插值,请问其中的保形插值的Matlab程序怎样编写呢、MATLAB 分段插值法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9989053.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存