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

matlab实现拉格朗日函数,拉格朗日插值多项式

时间:2018-04-09 21:14:29      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:3.1   一个   atl   pre   class   ros   matlab   利用   赋值   

%拉格朗日插值多项式  利用矩阵求解
x=1:0.2:3;%已知数据点x坐标向量:x
y=sin(x);%已知数据点x坐标向量:y
x1=1.1:0.2:3.1;%插值点的x坐标:x1
L=zeros(11,11);%另L矩阵为0        
        for i=1:11
            A=ones(10,1);%另A矩阵为10行1列的矩阵
            x2=x;
            x2(i)=[];
            x2‘;%10行一列 
            B=ones(1,11);%另B矩阵为1行11列的矩阵
            A*x1;%10行11列
            (x2‘)*B;%10行11列
             A*x1-(x2‘)*B;%11行11列
            ones(10,11);
            x(i);%提取x的第i个元素
            ones(10,11)*x(i);%10行11列的矩阵
            prod(A*x1-(x2‘)*B);%基函数的分子
            ones(10,11)*(x(i))-(x2‘)*B;%基函数的分母
            C=prod(A*x1-(x2‘)*B)./prod(ones(10,11)*(x(i))-(x2‘)*B);%对x2进行转置%C矩阵是一个1行11列的矩阵
            L(i,:)=C; %将A的第一行元素全部变为10 %将得到的矩阵赋值基函数的1,2,3。。。。11行
 
        end
    L;%11行11列
    y;%1行11列
    y1=y*L

  结果如下:

y1 =

  1 至 7 列

    0.8912    0.9636    0.9975    0.9917    0.9463    0.8632    0.7457

  8 至 11 列

    0.5985    0.4274    0.2392    0.0416

  

matlab实现拉格朗日函数,拉格朗日插值多项式

标签:3.1   一个   atl   pre   class   ros   matlab   利用   赋值   

原文地址:https://www.cnblogs.com/xyblogs/p/8762130.html

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