首页 > 代码库 > MATLAB实现拉格朗日插值法
MATLAB实现拉格朗日插值法
开始学习MATLAB(R和Python先放一放。。。),老师推荐一本书,看完基础就是各种算法。。。首先是各种插值。先说拉格朗日插值法,这原理楼主完全不懂的,查的维基百科,好久才看懂。那里讲的很详细,这里就不在赘述了。关于MATLAB的实现,查了很多资料,下面的版本最好理解。
%lagran1.m %求拉格朗日插值多项式和基函数 %输入的量:n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量X,纵坐标向量Y %输出的量:n次拉格朗日插值多项式L,基函数lfunction [L,l] = lagran1(X,Y) m = length(X); L = ones(m,m); for k = 1 : m V = 1; for i = 1 : m if k ~= i V = conv(V,poly(X(i))) / (X(k) - X(i)); end end l(k, :) = poly2sym(V); end L = Y * l;
conv在此处用于多项式相乘。
关于poly2sym,是将数组转化为多项式的函数,不指定符号,默认为x.
MATLAB实现拉格朗日插值法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。