资源描述:
《MATLAB数值积分与拟合.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数值积分数值积分原理:原函数不存在,采用数值积分:函数:quad功能:数值定积分,Quad:自适应Simpleson积分法。格式q=quad(fun,a,b)%近似地从a到b计算函数fun的数值积分,误差为10-6。若给fun输入向量x,应返回向量y,即fun是一单值函数。q=quad(fun,a,b,tol)%用指定的绝对误差tol代替缺省误差。tol越大,函数计算的次数越少,速度越快,但结果精度变小。程序:fun=inline(’3*x.^2./(x.^3-2*x.^2+3)’);>>Q1=quad(fun,0,2)计算结果为:Q1=3.7224例1.计算[0,2]上如
2、下函数的积分梯形法数值积分T=trapz(Y)%用等距梯形法近似计算Y的积分。若Y是一向量,则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的第一个非单元集方向进行计算。T=trapz(…,dim)%沿着dim指定的方向对Y进行积分。若参量中包含X,则应有length(X)=size(Y,dim)。例2.用梯形公式计算
3、[-1,1]上1/(1+25*X^2)的积分。>>X=-1:.1:1;>>Y=1./(1+25*X.^2);>>T=trapz(X,Y)计算结果为:T=0.5492二元函数重积分的数值计算1.矩形区域上的二重积分的数值计算格式q=dblquad(fun,xmin,xmax,ymin,ymax)调用函数quad在区域[xmin,xmax,ymin,ymax]上计算二元函数z=f(x,y)的二重积分。输入向量x,标量y,则f(x,y)必须返回一用于积分的向量。q=dblquad(fun,xmin,xmax,ymin,ymax,tol)%用指定的精度tol代替缺省精度10-6,再
4、进行计算。q=dblquad(fun,xmin,xmax,ymin,ymax,tol,method)%用指定的算法method代替缺省算法quad。method的取值有@quadl或用户指定的、与命令quad与quadl有相同调用次序的函数句柄。例如:>>fun=inline(’y./sin(x)+x.*exp(y)’);>>Q=dblquad(fun,1,3,5,7)输出结果:Q=3.8319e+003插值与拟合Matlab中Lagrange插值函数命令:Lagrange(x,y,x0)例1:已知数据如下表,试用Lagrange插值多项式求x分别为0.5626,0.563
5、5,0.5645函数的近似值。xi0.561600.562800.564010.56521Yi0.827410.826590.825770.81495在命令窗口输入如下执行命令:>>x=[0.56160;0.56280;0.56401;0.56521];>>y=[0.82741;0.82659;0.82577;0.81495];>>x0=[0.5626;0.5635;0.5645];>>y0=lagrang(x,y,x0)Y0=0.82650.82680.8231>>plot(x,y,’o’,x0,y0,’k*’)2.分段三次埃尔米特插值Matlab中所用命令pchip(x
6、,y,x0)>>x=[0.56160;0.56280;0.56401;0.56521];>>y=[0.82741;0.82659;0.82577;0.81495];>>x0=[0.5626;0.5635;0.5645];>>y0=pchip(x,y,x0)Y0=0.82670.82620.82322.分段三次埃尔米特插值Matlab中所用命令pchip(x,y,x0)>>x=[0.56160;0.56280;0.56401;0.56521];>>y=[0.82741;0.82659;0.82577;0.81495];>>x0=[0.5626;0.5635;0.5645];>
7、>y0=spline(x,y,x0)Y0=0.82650.82680.8231拟合问题已知热敏电阻数据:温度t(0C)20.532.751.073.095.7电阻R()7658268739421032求600C时的电阻R。设R=at+ba,b为待定系数曲线拟合问题的提法已知一组(二维)数据,即平面上n个点(xi,yi)i=1,…n,寻求一个函数(曲线)y=f(x),使f(x)在某种准则下与所有数据点最为接近,即曲线拟合得最好。+++++++++xyy=f(x)(xi,yi)ii为点(xi,yi)与曲线y=f(