MATLAB实现Lagrange插值函数

article/2025/9/29 16:43:45

MATLAB实现Lagrange插值函数

在这里插入图片描述

首先我们绘制Lagrange基函数

首先给出一个Lagrange基函数比较复杂的设法:

function y=lagrange(x0,y0,x)
n=length(x0);m=length(x);
for i=1:mz=x(i);s=0.0;for k=1:np=1.0;for j=1:nif j~=kp = p*(z-x0(j))/(x0(k)-x0(j));endends=p*y0(k)+s;endy(i)=s;
end

罗里吧嗦我也看不太懂自己在干嘛了/擦汗

然后是简单版,但是这里使用了几个可能大家不太熟悉的函数(我自己不太熟悉)
其中有
conv函数:多项式乘积(向量形式)
polyder函数:求解多项式微分表达式(求导)
polyval函数:多项式求值
deconv函数:多项式作除

w=1;l=zeros(9);t=1:0.01:9;
for i=1:9x(i)=i;w=conv(w,[1,-x(i)]);
end
dw=polyder(w);
for i=1:9dwx(i)=polyval(dw,x(i));l(i,:)=deconv(w,conv([1,-x(i)],dwx(i)));
end
for i=1:9yi=polyval(l(i,:),t');plot(t,yi,'Color',[rand(),rand(),rand()]);hold on;
end

在这里插入图片描述

绘制给定函数值的Lagrange函数

%基函数的表达式为[2,0,1,7,1,1,0,0,0]*[l1(x),l2(x),l3(x),l4(x),l5(x),l6(x),l7(x),l8(x),l9(x)]'
%我们可以通过直接调用基函数进行绘制langange函数,也可以直接编写langange函数,在此为充分熟悉langange函数,采用第二种实现方式。
x0 = [1,2,3,4,5,6,7,8,9];
y0 = [2,0,1,7,1,1,0,0,0];
x = linspace(1,9,1000);
%我们调用lagrange函数
y1 = lagrange(x0,y0,x);
plot(x,y1,'g')
hold on 
plot(x0,y0,'*')

图像如图所示:
在这里插入图片描述
在MATLAB中有现成的可以调用求lagrange函数的函数:
p=polyfit(x,y,n)
根据拟合数据x,y求n阶多项式p(x)的系数,p是系数

我们通过以上实际上是加深自己对lagrange函数的理解,实际使用时本人还是觉得直接用现成的最方便。


http://chatgpt.dhexx.cn/article/T3GbrZdy.shtml

相关文章

MATLAB----数据插值

本篇参考于:中国大学慕课,专题五,“5.3数据插值” 1.一维数据插值interp1() 2.二维数据插值interp2() 1.一维数据插值 调用格式:interp1(X,Y,X1.method)。根据X,Y的值,计算函数在X1处的值。其中X,Y为已知…

matlab中的interp2插值函数

看了好多文章才大体明白插值的含义,(⊙﹏⊙)b,这理解能力也是醉了.....为了记住这个惨痛教训,在吃饭前要把看到的文章总结一下~~ interp2 功能 二维数据内插值 格式 (1)ZI interp2(X,Y,Z,XI,YI) 好多文章里巴拉巴拉说了一堆,迷迷…

matlab interp2插值函数的使用

参考: https://blog.csdn.net/hanchan94/article/details/53942998 https://blog.csdn.net/sgfmby1994/article/details/52598270 interp2 的作用 interp2函数也是用来进行插值操作的,举个例子来讲,假设我们有一个33的矩阵,但…

matlab interp插值函数

本文转载自:https://www.jianshu.com/p/7d5e061747ca 什么是插值函数咧,我所理解的插值函数就是,有一些点但是直接plot出来的图,不大好看,可能是锯齿的散点的,但是你想要一个平滑的曲线,而且去…

MATLAB中的一维插值与函数拟合

本文主要记录Matlab中常用的一维插值与函数拟合的使用方法 文章目录 前言一、一维插值二、函数拟合2.1 多项式拟合2.1.1多项式拟合指令2.1.2 图形窗口的多项式拟合 2.2 指定函数拟合 参考资料 前言 最近在学习数学建模,这部分关于怎么使用Matlab,刚好记…

理解Redis单线程快的原因

看过相关Redis基础的同学可以知道Redis是单线程的,很多面试题也很可能会问到“为什么Redis是单线程的还那么快”。 单线程的内部的原理。 本力求简单讲清每个知识点,希望大家看完能有所收获。 这里就简单回顾一下吧: I/O多路复用的特点是…

Redis总结(八)redis单线程还是多线程问题

redis为什么可以支持高并发和它内部的工作模式有不可分割的关系: 绝大部分请求是纯粹的内存操作(非常快速)采用单线程,避免了不必要的上下文切换和竞争条件非阻塞IO - IO多路复用 Redis客户端对服务端的每次调用都经历了发送命令&#xff0…

redis单线程架构解析

简介 Redis使用单线程架构和I/0多路复用模型来实现高性能的内存数据库服务 单线程模型介绍 Redis单线程的优势 Redis是基于内存的,数据都存放在内存中,访问速度极快,这是Redis达到每秒万级别访问的重要基础非阻塞的I/O,Redis使…

详解redis单线程模型

背景:但凡你用redis都知道redis的一大特点就是单线程,那么在如今服务器普遍多核的时代下,为什么redis要采用单线程模型?单线程模型好在哪里?不用单线程模型redis是不是可以更快?带着这些问题我们一起来回顾…

2、Redis单线程高性能

Redis单线程,主要是指Redis的网络IO和键值对读写是由一个线程完成的。采用单线程的一个核心原因是避免多线程开发的并控制问题。 为什么这么快,Redis的大部分操作在内存中完成,再加上它高效的数据结构,这是它实现高性能的一个重要…

Redis单线程还是多线程?IO多路复用原理

目录 专栏导读一、Redis版本迭代二、Redis4.0之前为什么一直采用单线程?三、Redis6.0引入多线程四、Redis主线程和IO线程是如何完成请求的?1、服务端和客户端建立socket连接2、IO线程读取并解析请求3、主线程执行请求命令4、IO线程会写回socket和主线程清空全局队列五、IO多路…

Redis 单线程还是多线程?

Redis 单线程还是多线程 前段时间无意间看到一篇博客,讲述了Redis6即将在年底发布的事情,好奇心驱动下搜索了官网,想看看新版Redis带来了什么新的功能,果然得到证实Redis在年底将发布新的版本:6.0,并且Red…

redis单线程如何处理高并发的

这里写目录标题 1.IO(阻塞IO)和NIO(非阻塞IO)的概念2.redis的线程模型3.redis的通信协议 1.IO(阻塞IO)和NIO(非阻塞IO)的概念 1.jdk1.4引入了NIO,但也有很多人在用阻塞I…

为什么Redis单线程却比多线程快

为什么Redis单线程却比多线程快 redis三大特点为什么Redis是单线程单线程的优劣势题外 redis三大特点 1.Redis是基于内存,内存的读写是非常快的 2.Redis是单线程,省去了线程之间的切换并且防止了死锁现象发生 3.Redis采用多路复用的技术,可以…

Redis单线程模型

1、Redis单线程模型初步理解 针对每次请求调用,Redis都需经历接受命令、执行命令和返回结果三个过程。其中,执行命令阶段,因Redis是单线程处理命令,于是每一条到达redis服务端的命令不会立刻执行,而是所有命令都进入一…

3、redis 单线程 vs 多线程

1、Redis为什么选择单线程? 是什么 这种问法其实并不严谨,为啥这么说呢? Redis的版本很多3.x、4.x、6.x,版本不同架构也是不同的,不限定版本问是否单线程也不太严谨。 ①版本3.x ,最早版本,也就是大家…

Redis单线程原理

Redis单线程原理 Redis是单进程单线程的,Redis利用队列技术将并发访问变为串行访问,消除了传统数据库串行控制的开销。 单线程指的是网络请求模块使用了一个线程(所以不需考虑并发安全性),即一个线程处理所有网络请求…

【Redis】Redis单线程和多线程

Redis单线程 Redis为什么是单线程 Redis的版本很多,比如3.x、4.x、6.x等,版本不同,架构不同: 3.x版本,最早的版本,单线程4.x版本,严格意义上来说不是单线程,负责处理客户端请求的…

redis单线程模型阻塞问题浅析

redis知识速览 解决问题很好的一个方式就是先建立起“系统观”。这也就是说,如果我们想要深入理解和优化 Redis,就必须要对它的总体架构和关键模块有一个全局的认知,然后再深入到具体的技术点。 redis6.0之后就是多线程版本的了。 好久没写了…

Redis 单线程为什么速度这么快

总结了四点原因 1、基于内存,操作速度更快,每条命令的执行时间很短。 2、执行命令采用的是单线程操作,省去了线程切换的时空消耗。 3、采用了I/O多路复用,利用了epoll,提升了redis的I/O利用效率。 4、优秀的底层数…