文档介绍:插值与拟和
1。插值命令
1)命令1 interp1 分段线性插值
格式 yi = interp1(x,Y,xi) %返回插值向量yi,每一元素对应于参量xi,同时由向量x与Y的内插值决定。参量x指定数据Y的点。若Y为一矩阵,则按Y的每列计算。yi是阶数为length(xi)*size(Y,2)的输出矩阵。
2)命令2 spline 三次样条数据插值
格式 yy = spline(x,y,xx) % 该命令用三次样条插值计算出由向量x与y确定的一元函数y=f(x)在点xx处的值。若参量y是一矩阵,则以y的每一列和x配对,再分别计算由它们确定的函数在点xx处的值。则yy是一阶数为length(xx)*size(y,2)的矩阵。
pp = spline(x,y) %返回由向量x与y确定的分段样条多项式的系数矩阵pp,它可用于命令ppval、unmkpp的计算。
3)拉格朗日插值
y=lagrl(X,Y,x)
2。拟和命令:
a=polyfit(x,y,m) % m为多项式的次数
y=polyval(a,x) %用于计算多项式在x处的值,a为上面拟和时返回的参数
对于 RA=y 求解A, 则A=R\Y
数值积分与微分
1。一元函数的数值积分
1)函数1 quad、quadl、quad8 数值定积分
格式 q = quad(fun,a,b,tol) %近似地从a到b计算函数fun的数值积分,若给fun输入向量x,应返回向量y,即fun是一单值函数。用指定的绝对误差tol代替缺省误差。
[q,n] = quad(fun,a,b,…) %同时返回函数计算的次数n
…= quadl(fun,a,b,…) %用高精度进行计算,效率可能比quad更好。
…= quad8(fun,a,b,…) %该命令是将废弃的命令,用quadl代替。
2)函数2 trapz
功能梯形法数值积分
格式 T = trapz(Y) %用等距梯形法近似计算Y的积分。若Y是一向量,则trapz(Y)为Y的积分;若Y是一矩阵,则trapz(Y)为Y的每一列的积分;
T = trapz(X,Y) %用梯形法计算Y在X点上的积分。若X为一列向量,Y为矩阵,且size(Y,1) = length(X),则trapz(X,Y)通过Y的第一个非单元集方向进行计算。
3)T = sum(x) %输出数组x的和
T = cumsum(x) %输出数组x的依次累加和
2。一元函数的数值微分
前差形式:
diff(x) 输入x为n维的数组,输出为n-1维数组[x2-x1,x3-x2,…,xn-xn-1]
利用spline命令
pp=spline(x,y) ppd=ppder(pp) dyi=ppval(ppd ,xi) yi=ppval(pp,xi)
3。蒙特卡罗法:可计算积分和二重积分
均值估计法: 注意要进行区间转化时 p86页
常微分方程数值解
solver 代指ode23及ode45
格式[T,Y] = solver(***@fun,ts,y0) %在区间ts=[t0,tf]上,从t0到tf,用初始条件y0求解显式微分方程y’=f(t,y)。对于标量t与列向量y,函数f=fun(t,y)必须返回一f(t,y)的列向量f。解矩阵Y中的每一行对