窒息了,现在处于啥都看不懂的阶段,写博客纯为记录学习过程和一些知识点。
今天看了《数学建模算法与应用》第5章 插值与拟合。
里面涉及的函数有:
1.y=interp(x0,y0,x,‘method’)是一维插值函数,
method有nearest(最近项插值),linear(线性插值),spline(立方样条插值),cubic(立方插值)。**x0,y0是已知数据点,x是插值点。**用法如下:
x0=[0 3 5 7 9 11 12 13 14 15];
y0=[0 1.2 1.7 2.0 2.1 2.0 1.8 1.2 1.0 1.6];
x=0:0.1:15;
y1=interp1(x0,y0,x);
y2=interp1(x0,y0,x,‘spline’);`
2.pp=csape(x0,y0,conds,valconds);y=ppval(pp,x)三次样条插值。
csape(x0,y0)使用默认的拉格朗日条件。x0,y0是已知数据点,x是插值点。y是插值点的函数值。
conds指定插值的边界条件,可以为complete(边界为一阶导数),‘not-a-knot’(非扭结条件),periodic(周期),second(边界为二阶导数)。用法如下:
pp1=csape(x0,y0);
y3=ppval(pp1,x);
pp2=csape(x0,y0,‘second’);
y4=ppval(pp2,x);
3. [x’,y1’,y2’,y3’,y4’]这一步暂时不知道在干嘛
4.subplot(m,n,p)指图排成m行,n列,p指曲线画在第几个图上。用法:
subplot(1,3,1)
plot(x0,y0,’+’,x,y1)
title(‘Piecewise linear’)
subplot(1,3,2)
plot(x0,y0,’+’,x,y2)
title(‘Spline1’)
subplot(1,3,3)
plot(x0,y0,’+’,x,y3)
title(‘Spline2’)
5.diff(x)求x的一阶偏导数。如下:
dx=diff(x);
dy=diff(y3);
dy_dx=dy./dx;./点除 如果a、b是矩阵,a./b就是a、b中对应的每个元素相除,得到一个新的矩阵;如果a、b是两个数,那么a./b就是普通的除法。
dy_dx0=dy_dx(1)
初学matlab之插值拟合
最新推荐文章于 2022-09-27 19:44:21 发布