matlab插值与拟合例题_MATLAB学习笔记——插值与拟合

本文介绍了MATLAB中的一维和二维插值方法,包括拉格朗日插值、分段线性插值、三次样条插值,以及二维插值的网格插值和散乱数据插值。此外,还探讨了线性最小二乘和非线性最小二乘拟合,解析了相关函数的使用和应用场景。适合MATLAB初学者和数据处理者学习。
摘要由CSDN通过智能技术生成

(一)插值

在应用领域中,由有限个已知数据点,构造一个函数,由此计算数据点之间的函数值,称为插值。

一维插值

1.拉格朗日插值法

基本原理

构造一组基函数

Lagrange插值函数

因为matlab没有提供Lagrange插值函数,故需要自己构造。

x0,y0为原始坐标点,维度必须相同。

x为待插值的点。

y是返回值,是最终插值结果。

function y=lagrange(x0,y0,x) %x0,y0为初始坐标,x为需要插值的点,返回的y为插值结果

n=length(x0);m=length(x);

for i=1:m

z=x(i);

s=0;

for j=1:n

p=1;

for k=1:n

if k~=j

p=p*((z-x0(j))/(x0(k)-x0(j)));

end

end

s=p*y0(k)+s;

end

y(i)=s;

end

2.分段线性插值法

基本原理

将每两个相邻的节点用直线连起来,如此形成的一条折线就是分段线性插值函数。计算x点的插值时,只用到x左右的两个节点,计算量与节点个数n(初始值x0,y0的长度,n=length(x0))无关,而拉格朗日插值与n值有关。分段线性插值中n越大,分段越多,插值误差越小。

分段线性插值函数

matlab有提供现成的函数:interp1

y = interp1(x,y,cx,'method')

x,y分别表示数据点的横、纵向量

cx表示需要插值的横坐标数据或数组

method为可选参数,从以下四个值中任选一个:

'linear'——线性插值(默认)

'nearest'——最近邻近插值

'cubic'——三次插值

'spline'——三次样条插值(下面接着讲)

三次样条

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值