单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,*,21、没有人陪你走一辈子,所以你要适应孤独,没有人会帮你一辈子,所以你要奋斗一生。,22、当眼泪流尽的时候,留下的应该是坚强。,23、要改变命运,首先改变自己。,24、勇气很有理由被当作人类德性之首,因为这种德性保证了所有其余的德性。-温斯顿丘吉尔。,25、梯子的梯阶从来不是用来搁脚的,它只是让人们的脚放上一段时间,以便让别一只脚能够再往上登。,数学实验第三次讲稿,数学实验第三次讲稿21、没有人陪你走一辈子,所以你要适应孤独,没有人会帮你一辈子,所以你要奋斗一生。,22、当眼泪流尽的时候,留下的应该是坚强。,23、要改变命运,首先改变自己。,24、勇气很有理由被当作人类德性之首,因为这种德性保证了所有其余的德性。-温斯顿丘吉尔。,25、梯子的梯阶从来不是用来搁脚的,它只是让人们的脚放上一段时间,以便让别一只脚能够再往上登。数学实验第三次讲稿数学实验第三讲方程求解2021/3/242 1)掌握方程求解的三种解法:解析,法、数值解法以及图形表示解的方法;,2)学会使用MATLAB软件求解析解、数值解,和图形解;,3)通过范例学习怎样建立方程模型和,分析问题的思想。实验目的2021/3/243,二,方程求解,1,,解析方法,2,,图形放大法,3,,迭代方法,4,,区间方法,2024/11/18,6,1,,方程求解,之解析方法,主要针对一些比较简单的方程以及方程组,比如多项式方程等。同学们以前对方程的求解也是针对这样一些方程进行的。该方法的优点是可以利用纸笔得到简单有效并且精确的解;缺点是可以求解的方程数量太少。,Matlab,和,Maple,提供了求方程解析解的函数,可以说对数学演算提供了不少方便。,2024/11/18,7,2,,方程求解,之,图形放大法,图形最大的有点就是直观,试想如果我们有了函数准确的图形,那么曲线和,x,轴的交点就是我们要求的方程的解。因此我们可以利用图形工具得到方程的解。当然,计算机上的图形不可能等同于函数的真实图形,因为计算机上的图形是曲线上部分点的轨迹而不是全部,因此通过图形不可能得到方程的精确解,甚至它只是一个比较粗略的解,当然,通过对图形的放大可以得到更精确一些的解。同时,这种方法也不适应大量的数据处理。,2024/11/18,8,方程,f,(,x,)=0,1,),建立坐标系,画曲线,f,(,x,),;,2,),观察曲线,f,(,x,),与,x,轴相交的交点,;,3,),将其中一个交点进行局部放大,;,4,),该交点的横坐标值就是方程的根,。,2,图形放大法,2024/11/18,9,例,:,求方程,x,5,+2,x,2,+,4,=0,的一个根,.,画方程曲线图(,tuxfd.m,),x=-3:0.01:3;,y=x.5+2*x.2+4;,y1=0,*,x;,plot,(x,y,x,y1),由此判断:方程的一个根在区间,-2,,,2,内,因此将区间,-3,,,3,缩小至,-2,,,2,,再观察!,该方程有几个根?欲寻找其中一个实根,并且达到一定的精度。,2,图形放大法,2024/11/18,10,逐次缩小区间,观察一个根在,-1.55-1.5,之间。,2,图形放大法,2024/11/18,11,3,方程求解,之迭代法,迭代法的理论以及方法的出现,对方程求解有着里程碑式的意义。其基本思想如下,:,需要求解的方程:,f,(,x,)=0,(,1,),经过某种变形得:,x,=,j,(,x,),(,2,),从而求解方程(,1,)转化成为求解(,2,)得不动点。(满足条件,x*=,j(,x*),的点,x*,称为不动点),为得到方程的不动点,可以构造迭代过程如下:,x,n,+1,=,j,(,x,n,),,,n,=0,,,1,,,x,0,定义为迭代初值。,2024/11/18,12,解:,第一步,构造迭代函数:,x,=,j,(,x,),例:,用迭代方法求解方程,x,3,-,x,2,-,x,-1=0,。,2024/11/18,13,第二步,迭代,设定初值,x,0=1,,,x,n,+1,=,j,(,x,n,),,,n,=0,,,1,,,用,MATLAB,编程,(,died2.m,文件,),x=1;y=1;z=1;(,初始点,),for,k=1:20,x=x3-x2-1;%,j,1,(,x,),y=(y2+y+1)(1/3);%,j,2,(,y,),z=1+1/z+1/z2;%,j,3,(,z,),end,X,,,y,,,z,2024/11/18,14,序号,j,3,(,x,),序号,j,2,(,x,),j,3,(,x,),1,j,2,(,x,),1.4422,3.0000,8,1.8175,1.8136,2,1.6537,1.4444,9,1.8385,1.8554,3,1.7532,2.1716,10,1.8389,1.8294,4,1.7995,1.6725,11,1.8391,1.8454,5,1.8209,1.9554,12,1.8392,1.8355,6,1.8308,1.7730,13,1.8392,1.8416,7,1.8354,1.8822,j,1,(,x,),的迭代是失败的,(,迭代不收敛,)。,精确解:,x,=1.8393,计算结果,2024/11/18,15,迭代函数,j,2,(,x,),和,j,3,(,x,),的选取是成功的。精确解为,x,=1.8393,。,并且选取函数,j,2,(,x,),、,j,3,(,x,),其收敛速度不一致,前者的速度快些!,结论,1,、当遇到迭代不收敛时有什么解决办法?,2,、如何提高收敛速度?,对于给定的方程,f,(,x,)=0,有多种方式将它改写成等价的形式,x,=,j,(,x,),。,但重要的是,如何改写使得序列收敛?,返 回,2024/11/18,16,当今最流行的迭代法是牛顿法以及由此改进的一些方法,比如拟牛顿法等。其基本的思想就是构造迭代格式是利用函数的导数,这类方法有收敛速度快,稳定性好等特点。对低维和高维情况都适合,也是当今一些软件均采用的方法。当然,因为需要函数的导数信息,所以自然对不可微的问题受到制约。该方法的迭代格式为:,x,k+1,=x,k,-f(x,k,)/f(x,k,),2024/11/18,17,例,:,利用牛顿法求方程,x,3,-,x,2,-,x,-1=0,的根,.,方法,:,第一步,给出函数的导函数,3x,2,-2x-1;,第二步,给出函数的迭代格式,:,x,k+1,=x,k,-f(x,k,)/f(x,k,);,设置一定的精度要求,达到即终止,.,定义函数,m,文件,:,function ff=mynewton(x),ff=(,x3,x2,-,x,-1,)/(,3*x2-2*x-1,);,定义命令,m,文件,:,x0=1;,x,1,=x,0,-mynewton(x,0,);,while abs(x1-x0)0.0001,x0=x1;,x,1,=x,0,-mynewton(x,0,);,end,2024/11/18,18,三,解方程函数格式及例子,Matlab,对方程的求解提供了以下的一些函数:,(,1,)多项式求根;,(,2,)线性方程组求解;,(,3,)一般的非线性方程(组)求解:,2024/11/18,19,输出,:,-1.2131,-0.9017+0.5753i,-0.9017-0.5753i,-0.2694+0.9406i,-0.2694-0.9406i,0.4168+0.8419i,0.4168-0.8419i,0.8608+0.3344i,0.8608-0.3344i,例:求解多项式方程,x,9,+,x,8,+1=0,输入,:p=1,1,0,0,0,0,0,0,0,1;,roots(p),roots(),语句的用法,2024/11/18,20,4,、线性方程组:,AX=b,其中,A,是,m,n,阶矩阵,,b,是,m,维向量。,x=A b,or x=inv(A)*b,特点:只能求出一个特解。,2024/11/18,21,solution to the following linear system of equations:,You can formulate and solve the problem as,A=3 11-2;1 1-2;1-1 1;,b=7;4;19;,x=Ab,x=,13.2188,-2.3438,3.4375,2024/11/18,22,例,:AX=b,解,:,输入,:,A=1 2 3;4 5 6;7 8 9;b=6;14;-3;,x1=Ab,x2=inv(A)*b,输出,:,警告,:,系统的秩不足,.,解不唯一,.,1,、,题中,rank(A)=rank(A|b)=23,该方程组有无穷解,。,2,、,输出结果是否一致?,3,、,如何求方程组的全部解?,思,考,Ab,和,inv(),语句的用法,返 回,2024/11/18,23,函数,fzero,格式:,fzero(,函数名,初值或区间,),Example 1.Calculate by finding the zero of the sine function near 3.,x=fzero(sin,3),x=3.1416,Example 2.To find the zero of cosine between 1 and 2,x=fzero(cos,1 2),x=1.5708,2024/11/18,24,1,、方程,(,组,),,,f,1,(,x,)=0,f,n,(,x,)=0,x,=(,x,1,x,n,),2,、方程,(,组,),,,f,1,(,x,)=0,f,n,(,x,)=0,x,=(,x,1,x,n,),fun.m,function f=fun(x),f(1)=,f,1,(,x,);,f(n)=,f,n,(,x,),初值,1,)可以省略。,2,),options=1,表示输出中间结果。,solve,(,f,1,(,x,),f,2,(,x,),f,n,(,x,),),X=fsolve(fun,X0,options),MATLAB,软件直接求解法,2024/11/18,25,输出,:1/2/a*(-b+(b2-4*a*c)(1/2),1/2/a*(-b-(b2-4*a*c)(1/2),单变量方程,solve(),语句的用法,例,1,:求解方程,ax,2,+,bx,+,c,=0,输入,:,x=,solve(,a*x2+b*x+c,),或,solve(,a*x2+b*x+c=0,),1,)符号解,2024/11/18,26,例,2,:解方程:,x,3,-2x,2,=x-1,解:,s=solve(x3-2*x2=x-1),double(s),2,)数字解,该方程是否有实根?,vpa(s,10),solve(),语句的用法,2024/11/18,27,例,3,求解方程:,tan(x)-sin(x)=0,3,)无穷解,输入,:,solve(tan(x)-sin(x)=0),输出:,0,(,不能给出全部解),(tx1.m),solve(),语句的用法,2024/11/18,28,输入:,x,y=solve(x2*y2,x-(y/2)-b),输出:,x=0,,,y=-2*b,0,,,-2*b,(符号解),b,,,0,b,,,0,v=x,y,多变量方程组,例,4,或,b=2,solve(),语句的用法,2024/11/18,29,例,6,:求解方程组,解 输入:,x,y,z=,solve,(sin(x)+y2+log(z)-7=0,3*x+2y-z3+1=0,x+y+z-5=0,x,y,z),x=0.59905375664056731520568183824539,y=2.3