matlab数学实验五.ppt
《matlab数学实验五.ppt》由会员分享,可在线阅读,更多相关《matlab数学实验五.ppt(37页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 实验五实验五 MATLAB在数值计算中的应用在数值计算中的应用5.1实验目的实验目的 在工程技术中,大量的实际问题都需要进行近似处理,从而产生不同问题的数值计算方法。而MATLAB具有强大的数值运算功能,本实验的目的是学会用MATLAB软件进行一些数值运算,包括代数方程求根、插值问题和曲线拟合问题等。5.2实验内容实验内容一、代数方程求根一、代数方程求根 代数方程求根有各种近似处理方法,下面给出MATLAB两种常用的调用格式:最小二乘法 格式:fsolve(f,x0):求方程f=0在估计值x0 附近的近似解。1例1 解解 输入命令:f=inline(x-exp(-x);x1=fsolve(f
2、,0)x1=0.5671 例2 先画图观察根的个数及大概位置。输入命令:fplot(5*x2*sin(x)-exp(-x),0,0,10)结果见图5.1 注意,5*x2*sin(x)-exp(-x),0中的,0是作y=0直线,即x轴。2 方程在0,10区间从图中可看出有4个解,分别在0,3,6,9附近,所以用命令:f=inline(5*x.2.*sin(x)-exp(-x);fsolve(f,0,3,6,9)ans=0.5018 3.1407 6.2832 9.424832、零点法 格式:fzero(f,x0):求函数f在x0 附近的零点。例3 先画图观察根的个数及大概位置。输入命令:fplo
3、t(x2-4*x-5,0,-10,10)结果见图5.2 fzero(f,x1,x2):求函数f在区间x1,x2 上唯一零点。4从图中可看出方程在-2,0及4,6区间上各有一根,再输入命令:x1=fzero(x2-4*x-5,-2,0)x1=-1 x2=fzero(x2-4*x-5,4,6)x2=553、代数方程的符号解格式:solve(f,):求代数方程f=0的根;solve(eqn1,eqn2,.,eqnN):求n个代数方程的根;例4 解解 输入命令:solve(a*x2+b*x+c)ans=1/2/a*(-b+(b2-4*a*c)(1/2)1/2/a*(-b-(b2-4*a*c)(1/2)
4、6例5 解解 输入命令:x,y=solve(x*y=1,x-11*y=5)x=5/2+1/2*69(1/2)5/2-1/2*69(1/2)y=-5/22+1/22*69(1/2)-5/22-1/22*69(1/2)如果化成数值解,用命令vpa如上例:x=vpa(x,2)x=6.7 -1.77 y=vpa(y,2)y=.14 -.60二、曲线拟合二、曲线拟合 已知离散点上的数据集求得一解析函数y=f(x)使y=f(x)在原离散点接近给定曲线拟合是最小二乘法曲线拟合,拟合结果可使误差的上尽可能的值,这一过程叫曲线拟合。最常用的平方和最小,即找出使最小的f(x).8格式:p=polyfit(x,y,
5、n).说明:求出已知数据x,y 的n次拟合多项式f(x)的系数p,x 必须是单调的。例6 已知某函数的离散值如表5.1 xixi0.50.51.01.01.51.52.02.02.52.53.03.0yiyi1.751.752.452.453.813.814.804.807.007.008.658.65求二次拟合多项式.先画函数离散点的图形 输入命令:x=0.5 1.0 1.5 2.0 2.5 3.0;y=1.75 2.45 3.81 4.80 7.00 8.60;scatter(x,y,5)结果见图5.3 9由图可看出可用二次多项式拟合。再再输入命令:p=polyfit(x,y,2)p=0.
6、5614 0.8287 1.1560即二次拟合多项式为 10画出离散点及拟合曲线:输入命令:x1=0.5:0.05:3.0;y1=polyval(p,x1);plot(x,y,*r,x1,y1,-b)结果见图5.4 11三、一维插值三、一维插值 已知离散点上的数据集求得一解析函数连接自变量相邻的两个点,并求得两点间的数值,这一过程叫插值。MATLAB在一维插值函数interp1中,提供了四种插值方法选择:线性插值、三次样条插值、立方插值和最近邻点插值。interp1的本格式为:yi=interp1(x,y,xi,method)其中x,y分别表示数据点的横、纵坐标向量,x 必须单调,xi为需要插
7、值的横坐标数据(或数组),xi不能超出x的范围,而method为可选参数,有四种选择:nearest:最邻近插值linear:线性插值;12spline:三次样条插值;cubic:立方插值。缺省时:分段线性插值。例7 在1-12的11小时内,每隔1小时测量一次温度,测得的温度依次为:5,8,9,15,25,29,31,30,22,25,27,24。试估计在 3.2,6.5,7.1,11.7小时的温度值。解解 输入命令:hours=1:12;temps=5 8 9 15 25 29 31 30 22 25 27 24;t=interp1(hours,temps,3.2 6.5 7.1 11.7)
8、%线性插值t=10.2000 30.0000 30.9000 24.900013 T=interp1(hours,temps,3.2 6.5 7.1 11.7,spline)%三次样条插值T=9.6734 30.0427 31.1755 25.3820 比较发现,两种结果有差异,这是因为插值是一个估计或猜测的过程。两种插值的画图如下;输入命令:t0=1:0.1:12;T0=interp1(hours,temps,t0,spline);plot(hours,temps,+,t0,T0,hours,temps,r:)xlabel(时间);ylabel(温度)14 gtext(线性插值)gtext(
9、三次样条插值)结果见图5.5 15四、二维插值四、二维插值 对二维插值问题,MATLAB分别给出了针对插值基点为网格节点的插值函数及针对插值基点为散乱节点的插值函数调用格式。1、用MATLAB作网格节点数据的插值 对上述问题,MATLAB提供了二维插值函数interp2,其基本格式为:16z=interp2(x0,y0,z0,x,y,method)其中x0,y0是自变量。X0,y0的分量值必须是单调递增的。X0和y0分别是m维和n维向量,分别表示已知数据点的横、纵坐标向量,z0是m*n维矩阵,标明相应于所给数据网格点的函数值。向量x,y是待求函数值所给定网格点的的横、纵坐标向量,x,y的值分别
10、不能超出x0,y0的范围。而method为可选参数,有四种选择:nearest 最邻近插值linear 线性插值spline 三次样条插值cubic 三次插值缺省时,是线性插值17例8:测得平板表面35网格点处的温度分别为:82 81 80 82 84 79 63 61 65 81 84 84 82 85 86 试求在平板表面坐标为(1.5,1.5),(2,1.6),(2.5,2)(3.5,4.5)处的温度,并作平板表面的温度分布曲面z=f(x,y)的图形,(1)先在三维坐标画出原始数据,画出粗糙的温度分布曲图.输入以下命令:x0=1:5;y0=1:3;temps=82 81 80 82 84
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 数学 实验
限制150内