第一个函数  "lagrange1.m"

输入:X Y 与点x0

输出:插值函数对应函数值 y0

function y = lagrange1(X,Y,x0)
n = length(X);
m = length(x0);
for i = :m
z = x0(i);
s = 0.0;
for k = :n;
p = 1.0;
for j = :n
if j~=k
p = p*(z - X(j))/(X(k)-X(j));
end
end
s = p * Y(k) + s;
end
y(i) = s;
end

第二个函数  "lagrange2.m"

输入:X Y

输出:插值函数

function L = lagrange2(x,y)
m = length(x);
for k = :m;
V = ;
for i = :m;
if k~=i
V = conv(V,poly(x(i)))/(x(k)-x(i));
end
end
l(k,:) = poly2sym(V);
end
L = y * l;

"main.m"

一个简单的测试:

x = [1,1.2,1.8,2.5,4];
y =[0.8415,0.9320,0.9738,0.5985,-0.7568];
x0 = [1.6,3];
y0 = lagrange1(x,y,x0)

xx = 0:0.1:5;
yy1 = sin(xx);
yy2 = lagrange1(x,y,xx)
legend('插值','sinx')
plot(x,y,'ok',xx,yy1,'-r',xx,yy2,'-b');
legend('样本点','sin(x)','拉格朗日插值估算');

hold on;
grid on;
L = lagrange2(x,y);
vpa(L,5)
xx0 = 1:5;
yy0 = lagrange1(x,y,xx0);
yy1 = sin(xx0);
ep = yy1 - yy0


【matlab】 拉格朗日插值的更多相关文章

  1. 多项式函数插值:全域多项式插值(一)单项式基插值、拉格朗日插值、牛顿插值 [MATLAB]

    全域多项式插值指的是在整个插值区域内形成一个多项式函数作为插值函数.关于多项式插值的基本知识,见“计算基本理论”. 在单项式基插值和牛顿插值形成的表达式中,求该表达式在某一点处的值使用的Horner嵌 ...

  2. Educational Codeforces Round 7 F - The Sum of the k-th Powers 拉格朗日插值

    The Sum of the k-th Powers There are well-known formulas: , , . Also mathematicians found similar fo ...

  3. 常系数齐次线性递推 & 拉格朗日插值

    常系数齐次线性递推 具体记在笔记本上了,以后可能补照片,这里稍微写一下,主要贴代码. 概述 形式: \[ h_n = a_1 h_{n-1}+a_2h_{n-2}+...+a_kh_{n-k} \] ...

  4. 快速排序 and 拉格朗日插值查找

    private static void QuictSort(int[] zu, int left, int right) { if (left < right) { ; ; ]; while ( ...

  5. BZOJ3601 一个人的数论 莫比乌斯反演、高斯消元/拉格朗日插值

    传送门 题面图片真是大到离谱-- 题目要求的是 \(\begin{align*}\sum\limits_{i=1}^N i^d[gcd(i,n) == 1] &= \sum\limits_{i ...

  6. 【XSY1537】五颜六色的幻想乡 数学 生成树计数 拉格朗日插值

    题目大意 ​ 有一个\(n\)个点\(m\)条边的图,每条边有一种颜色\(c_i\in\{1,2,3\}\),求所有的包括\(i\)条颜色为\(1\)的边,\(j\)条颜色为\(2\)的边,\(k\) ...

  7. 【BZOJ2655】calc DP 数学 拉格朗日插值

    题目大意 ​ 一个序列\(a_1,\ldots,a_n\)是合法的,当且仅当: ​ 长度为给定的\(n\). ​ \(a_1,\ldots,a_n\)都是\([1,m]\)中的整数. ​ \(a_1, ...

  8. 【Luogu4781】【模板】拉格朗日插值

    [Luogu4781][模板]拉格朗日插值 题面 洛谷 题解 套个公式就好 #include<cstdio> #define ll long long #define MOD 998244 ...

  9. P4781 【模板】拉格朗日插值

    P4781 [模板]拉格朗日插值 证明 :https://wenku.baidu.com/view/0f88088a172ded630b1cb6b4.html http://www.ebola.pro ...

随机推荐

  1. 字符的二进制,php的pack与unpack

    $curl = curl_init (); curl_setopt($curl, CURLOPT_URL , 'http://mh.18touch.com/restful/magic'); curl_ ...

  2. win7 iis7 asp.net 编译器错误消息: CS0016:

    编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files/root ...

  3. lazy-mock ,一个生成后端模拟数据的懒人工具

    lazy-mock   lazy-mock 是基于koa2构建的,使用lowdb持久化数据到JSON文件.只需要简单的配置就可以实现和json-server差不多的功能,但是比json-server更 ...

  4. [javaSE] 位运算符(&|^)

    位运算是直接对二进制进行计算 左移 << 右移 >> 先把整数换成四个8bit 0000-0000 0000-0000 0000-0000 0000-0000 这个二进制左右移 ...

  5. 阿里云Maven仓库

    <mirror> <id>nexus-aliyun</id> <mirrorOf>*</mirrorOf> <name>Nexu ...

  6. [选译]MySQL5.7以上Zip版官方安装文档

    前言 在windows上安装Zip版MySQL(选译) 学习mysql的朋友们会发现5.7+版本的mysql变得比以前难安装了许多(当然我们可以选择installer版本,但是这样总感觉对学习mysq ...

  7. 浅谈脚本化css(一)

    读写css属性 每一个dom元素都有一个属性style,dom.style里面存放的这个元素的行间样式,我们可以通过这个属性来读写元素的行间样式. 注意: 1.我们碰到float这样的关键字属性的时候 ...

  8. python中函数重载和重写

    python 中的重载  在python中,具有重载的思想却没有重载的概念.所以有的人说python这么语言并不支持函数重载,有的人说python具有重载功能.实际上python编程中具有重载的目的缺 ...

  9. BZOJ1911: [Apio2010]特别行动队(dp 斜率优化)

    题意 题目链接 Sol 裸的斜率优化,注意推导过程中的符号问题. #include<bits/stdc++.h> #define Pair pair<int, int> #de ...

  10. 在Maven仓库中添加Oracle数据库的JDBC驱动依赖

    在使用idea连接oracle数据库时发现直接添加oracle依赖 <dependency><groupId>com.oracle</groupId><art ...