码迷,mamicode.com
首页 > 其他好文 > 详细

MATLAB实现拉格朗日插值法

时间:2016-09-05 10:27:01      阅读:274      评论:0      收藏:0      [点我收藏+]

标签:

    开始学习MATLAB(R和Python先放一放。。。),老师推荐一本书,看完基础就是各种算法。。。首先是各种插值。先说拉格朗日插值法,这原理楼主完全不懂的,查的维基百科,好久才看懂。那里讲的很详细,这里就不在赘述了。关于MATLAB的实现,查了很多资料,下面的版本最好理解。

%lagran1.m  
%求拉格朗日插值多项式和基函数  
%输入的量:n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量X,纵坐标向量Y  
%输出的量:n次拉格朗日插值多项式L,基函数l
function [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实现拉格朗日插值法

标签:

原文地址:http://www.cnblogs.com/buzhizhitong/p/5841293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!