拉格朗日(lagrange)插值及其MATLAB程序

article/2025/9/20 0:00:01

一、n次拉格朗日插值

根据《插值多项式的性质》中的定理6.1可得

其中(6.19)称为基函数,(6.18)称为拉格朗日多项式,用(6.18)计算插值称为拉格朗日多项式插值。


方法2:通过MATLAB程序计算

>> X = [-2, 0, 1, 2]; Y = [17, 1, 2, 17];
>> p1 = poly(X(1)); p2 = poly(X(2)); p3 = poly(X(3)); p4 = poly(X(4));
>> l01 = conv(conv(p2, p3), p4)/((X(1) - X(2)) * (X(1) - X(3)) * (X(1) - X(4)));
>> l11 = conv(conv(p1, p3), p4)/((X(2) - X(1)) * (X(2) - X(3)) * (X(2) - X(4)));
>> l21 = conv(conv(p1, p2), p4)/((X(3) - X(1)) * (X(3) - X(2)) * (X(3) - X(4)));
>> l31 = conv(conv(p1, p2), p3)/((X(4) - X(1)) * (X(4) - X(2)) * (X(4) - X(3)));
>> l0 = poly2sym(l01), l1 = poly2sym(l11), l2 = poly2sym(l21), l3 = poly2sym(l31)l0 =- x^3/24 + x^2/8 - x/12l1 =x^3/4 - x^2/4 - x + 1l2 =- x^3/3 + (4*x)/3l3 =x^3/8 + x^2/8 - x/4>> P = l01 * Y(1) + l11 * Y(2) + l21 * Y(3) + l31 * Y(4)P =1     4    -4     1>> L = poly2sym(P), x = 0.6; Y = polyval(P, x)L =x^3 + 4*x^2 - 4*x + 1Y =0.2560>> syms M; x = 0.6;
>> R3 = M * abs((x - X(1)) * (x - X(2)) * (x - X(3)) * (x - X(4))) / 24 R3 =(91*M)/2500              >> 
即误差满足


二、拉格朗日多项式和基函数的MATLAB程序


编辑M文件:

%lagran1.m
%求拉格朗日插值多项式和基函数
%输入的量:n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量X,纵坐标向量Y
%输出的量:n次拉格朗日插值多项式L及其系数向量C,基函数l及其系数矩阵L
function [C,L,L1,l] = lagran1(X,Y)
m = length(X); L = ones(m,m);
for k = 1 : mV = 1;for i = 1 : mif k ~= iV = conv(V,poly(X(i))) / (X(k) - X(i));endendL1(k, :) = V; l(k, :) = poly2sym(V);
end
C = Y * L1;
L = Y * l;


>> X = [-2.15 -1.00 0.01 1.02 2.03 3.25];
>> Y = [17.03 7.24 1.05 2.03 17.06 23.05];
>> [C,L,L1,l] = lagran1(X,Y);
>> CC =-0.2169    0.0648    2.1076    3.3960   -4.5745    1.0954>> vpa(L,5)ans =- 0.21686*x^5 + 0.06482*x^4 + 2.1076*x^3 + 3.396*x^2 - 4.5745*x + 1.0954>> L1L1 =-0.0056    0.0299   -0.0323   -0.0292    0.0382   -0.00040.0331   -0.1377   -0.0503    0.6305   -0.4852    0.0048-0.0693    0.2184    0.3961   -1.2116   -0.3166    1.00330.0687   -0.1469   -0.5398    0.6528    0.9673   -0.0097-0.0317    0.0358    0.2530   -0.0426   -0.2257    0.00230.0049    0.0004   -0.0266    0.0001    0.0220   -0.0002>> vpa(l,5)ans =- 0.0056263*x^5 + 0.029875*x^4 - 0.032273*x^3 - 0.029239*x^2 + 0.038157*x - 0.000378620.033098*x^5 - 0.13769*x^4 - 0.050322*x^3 + 0.63051*x^2 - 0.48517*x + 0.0047887- 0.069344*x^5 + 0.21843*x^4 + 0.39608*x^3 - 1.2116*x^2 - 0.31662*x + 1.00330.06865*x^5 - 0.14691*x^4 - 0.53981*x^3 + 0.65279*x^2 + 0.9673*x - 0.0097378- 0.031721*x^5 + 0.035845*x^4 + 0.25295*x^3 - 0.042557*x^2 - 0.22568*x + 0.00226080.0049432*x^5 + 0.00044489*x^4 - 0.026633*x^3 + 0.000092729*x^2 + 0.022008*x - 0.00022006

三、拉格朗日插值及其误差估计的MATLAB程序


编写M文件

%lagrane.m
%拉格朗日插值及其误差估计
%输入的量:X是n+1个节点(x_i,y_i)(i = 1,2, ... , n+1)横坐标向量,Y是纵坐标向量,
%x是以向量形式输入的m个插值点,M在[a,b]上满足|f~(n+1)(x)|≤M
%注:f~(n+1)(x)表示f(x)的n+1阶导数
%输出的量:y为m个插值构成的向量,R是误差限
function [y, R] = lagrange(X, Y, x, M)
n = length(X);m = length(x);
for i = 1:mz = x(i);s = 0.0;for k = 1:np = 1.0; q1 = 1.0; c1 = 1.0;for j = 1:nif j~=kp = p * (z - X(j)) / (X(k) - X(j));endq1 = abs(q1 * (z - X(j)));c1 = c1 * j;ends = p * Y(k) + s;endy(i) = s;R(i) = M * q1 / c1;
end



例:用Lagrange插值来求sinx在某点的值,并估计其误差,已知sin0°  = 0, sin30°  = 0.5, sin45° = 0.7071, sin60° = 0.8660, sin90° = 1.

X                       0                         pi/6                         pi/4                        pi/3                     pi/2

Y                       0                         0.5                        0.7071                  0.8660                   1 


解:

>> X = [0 pi/6 pi/4 pi/3 pi/2];
>> Y = [0 0.5 0.7071 0.8660 1];
>> x = linspace(0,pi,50);
>> M = 1;
>> [y, R] = lagrange(X, Y, x, M);
>> y1 = sin(x);
>> errorbar(x,y,R,'.g')
>> hold on
>> plot(X, Y, 'or', x, y, '.k', x, y1, '-b');
>> legend('误差','样本点','拉格朗日插值估算','sin(x)');






http://chatgpt.dhexx.cn/article/1Rlw4udC.shtml

相关文章

拉格朗日函数优化

等式约束最优化 可以写为: 引入拉格朗日乘子()把问题转换成拉格朗日函数 因为对于任何可行解,有,所以有 ,也就是,。 求解。对分别求的偏导数为零,得到方程组求解极值点&#xff0c…

增广拉格朗日函数法

增广拉格朗日函数法 在二次罚函数法中,为了保证可行性,罚因子必须趋于正无穷。此时,子问题因条件数爆炸而难以求解。那么,是否可以通过对二次罚函数进行某种修正,使得对有限的罚因子,得到的毕竟最优解也是…

增广拉格朗日函数法(ALM)

增广拉格朗日函数法( Augmented Lagrangian method) 一、等式约束 考虑问题: min ⁡ x f ( x ) s . t . c i ( x ) 0 , i 1 , ⋯ , m . \begin{array}{ll} \min_x &f(x)\\ s.t. &c_i(x) 0, \quad i1,\cdots,m. \end{array} min…

广义拉格朗日函数的理解

1、拉格朗日函数: 求极值 求函数f(x,y,z)在条件φ(x,y,z)0下的极值 方法(步骤)是: 1.做拉格朗日函数Lf(x,y,z)λφ(x,y,z),λ称拉格朗日乘数 2.求L分别对x,y,z,λ求偏导,得方程组,求出驻点P(x,y,z) 如果这个实际问题的最大或…

各种拉格朗日函数

目录 一,拉格朗日函数 二,部分拉格朗日函数 三,增广拉格朗日函数 一,拉格朗日函数 以三元函数为例: 求f(x,y,z)的极值,s.t.g(x,y,z)0 拉格朗日函数L(x,y,z,a) f(x,y,z) a * g(x,y,z) 在极值点处一…

拉格朗日函数相关推导

优化问题(即高数中的求极值)可分为三类:无约束、等式约束、不等式约束。 对于无约束的优化问题:求导,令导数为零即可求解。 等式约束优化:(拉格朗日乘子法最开始就是求解等式约束优化的方法&…

HJ-浇花

链接:https://ac.nowcoder.com/acm/contest/322/M 来源:牛客网 时间限制:C/C 1秒,其他语言2秒 空间限制:C/C 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 HJ养了很多花(9999999…

单片机——自动浇花系统

目录 1、图片 2、代码 1、图片 2、代码 #include <reg51.h> //调用单片机头文件 #define uchar unsigned char //无符号字符型 宏定义 变量范围0~255 #define uint unsigned int //无符号整型 宏定义 变量范围0~65535#include <intrins.h>sbi…

基于ESP32的开源定时浇花系统

基于ESP32的开源定时浇花系统 文章目录 基于ESP32的开源定时浇花系统前言一、软硬件环境二、模块连接图1.浇花功能说明2.Web界面展示 总结 前言 养了些许花花草草&#xff0c;需要按时浇灌&#xff0c;奈何总是要出差&#xff08;总想出去玩&#xff09;&#xff0c;又怕没人浇…

RISC-V MCU 自动浇花装置设计

第一部分 设计概述 1.设计目的 在家里养养盆花可以陶冶情操&#xff0c;丰富生活&#xff0c;因此&#xff0c;家庭盆栽如今被许多人喜爱。花草生长问题80%以上是由花儿浇灌问题引起的;好不容易种植几个月的花草&#xff0c;因为浇水不及时而缺水死亡。虽然市场上有卖盆花自…

【Proteus仿真】【51单片机】自动浇花灌溉系统设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真51单片机控制器&#xff0c;使用LCD1602液晶、按键、DS18B20、PCF8591 ADC、土壤湿度传感器、水位传感器、蜂鸣器模块等。 系统运行后&#xff0c;LCD1602显示传感器检测的温度、…

自动浇花系统的电路分析

目录 ​​​电源电路 复位电路和晶振 UCB转TTL ​​​电源电路 首先是电源电路&#xff0c;我们来看电源电路的原理图。 首先忽略D、D-&#xff0c;我们先来看电源本身&#xff0c;除了两头的接地和VCC&#xff08;这是USB接口的特性&#xff09;&#xff0c;我们观察到右…

51单片机wifi物联网的浇花控制系统设计

硬件设计 浇花控制系统采用51单片机与LCD液晶显示屏来实现&#xff0c;利用温度、湿度传感器及相应的显示、驱动执行机构、报警装置等实现温室作物生长环境控制器的设计。 硬件电路主要由51单片机最小系统lcd1602显示屏蜂鸣器报警模块设置按键微型水泵adc0832模数转换模…

毕业设计 远程智能浇花灌溉系统 - stm32 单片机 嵌入式 物联网

文章目录 0 前言1 简介2 主要器件3 实现效果4 设计原理5 部分关键代码5 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉学…

基于51单片机的智能浇花系统(可做毕设)

基于51单片机的智能浇花系统&#xff08;可做毕设&#xff09; 一、系统介绍二、仿真展示三、实物展示四、仿真过程五、代码1、ADC08322、LCD16023、按键4、水泵5、温湿度6、定时器7、main.c 五、完整工程 对LCD1602原理和操作掌握不好的可以看这篇&#xff1a; 快速掌握——LC…

毕设--自动浇花系统的设计

目录 毕设--自动浇花系统的设计1、作品实物图2、PCB原理图3、元器件清单4、土壤温湿度采集与显示5、硬件电路设计6、程序源码7、资料获取 毕设–自动浇花系统的设计 注&#xff1a;本毕设资源可在微信公众号&#xff1a;“Kevin的学习站” 中获取&#xff01; 1、作品实物图 2、…

单片机毕业设计 自动浇花灌溉系统设计

文章目录 1 简介2 主要器件3 实现效果4 设计原理5 关键代码 1 简介 Hi&#xff0c;大家好&#xff0c;今天向大家介绍一个学长做的单片机项目 基于单片机的自动浇花灌溉系统设计 大家可用于 课程设计 或 毕业设计 选题指导&#xff0c;项目分享&#xff1a; https://gitee…

基于android智能浇花装置,一种基于WiFi通讯远程控制的智能浇花装置的制作方法...

本实用新型涉及自动浇水装置技术领域&#xff0c;具体涉及一种基于WiFi 通讯远程控制的智能浇花装置。 背景技术&#xff1a; 花卉作为一种极具观赏性的植物&#xff0c;在室内和室外广泛种植。上班族工作紧张&#xff0c;空闲时间较少&#xff0c;长期不在家时需要花草被照料。…

基于51单片机的自动浇花系统

目录 一、项目需求 二、仿真 三、程序 四、资料清单 资料下载地址&#xff1a;基于51单片机的自动浇花系统 一、项目需求 1、自动检测土壤湿度、温度、光照强度&#xff1b; 2、土壤湿度过低驱动水泵进行浇花&#xff1b; 3、LCD1602显示当前土壤湿度、温度、光照强度…

【IoT开发】基于机智云物联网的智能浇花教程

摘要:随着近年来物联网技术的发展,相关的技术已经广泛应用于人们的生产和生活中。文章针对长期无人在家时花卉植物的浇水问题,设计了一套基于物联网的智能浇花系统。系统采用STM32与51增强型单片机作为控制器,esp8266物联网模块作为通信设备,底层采用MQTT协议,连接到物联网云平…