资源描述:
《matlab求代数方程的近似艮实验报告三》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、《matlab与数学实验》实验报告实验序号:实验三日期:2015年5月22日班级132132002姓名彭婉婷学号1321320057实验名称求代数方程的近似根(解)问题背景描述本实验介绍一些求方程实根的近似值的有效方法,要求在使用这些方法前先确定求根区间,或给出某根的近似值.在实际问题抽象出的数学模型中,可以根据物理背景确定;也可根据的草图等方法确定,还可用对分法、迭代法以及牛顿切线法大致确定根的分布情况.实验目的1.了解对分法、迭代法、牛顿切线法求方程近似根的基本过程;2.求代数方程(组)的解.实验原理与数学模型7.11.0(R2010b)对分法思想:将区域不断对分,判断根在某个
2、分段内,再对该段对分,依此类推,直到满足精度为止.对分法适用于求有根区间内的单实根或奇重实根.迭代法的基本思想:由方程构造一个等价方程从某个近似根出发,令,可得序列,这种方法称为迭代法.松弛法:若与同是的近似值,则是两个近似值的加权平均,其中称为权重,现通过确定看能否得到加速Altken方法:松弛法要先计算,在使用中有时不方便,为此发展出以下的Altken公式:,是它的根,是其近似根.牛顿法的基本思想:是非线性方程,一般较难解决,多采用线性化方法.附加题Eye()Diag(ones(7,1),1)主要内容(要点)4.分别用对分法、普通迭代法、松弛迭代法、Altken迭代法、牛顿切法
3、线等5种方法,求方程的正的近似根,.(建议取).时间许可的话,可进一步考虑的情况.)附加:思考:若,或是类似的但阶数更大的稀疏方阵,则应如何得到?实验过程记录(含基本步骤、主要程序清单及异常情况记录等)4、分别用对分法、普通迭代法、松弛迭代法、Altken迭代法、牛顿切法线等5种方法,求方程的正的近似根,.(建议取)一、对分法图像程序:f='sin(x)-0.5*x';g='0';ezplot(f,[-4,4]);holdon;ezplot(g,[-4,4]);%目的是画出直线y=0,即x轴gridon;axis([-44-55]);holdoff求解程序:clearsymsxfx
4、;a=1.5;b=2;fx=sin(x)-0.5*x;x=(a+b)/2;k=0;ffx=subs(fx,'x',x);ifffx==0;disp(['therootis:',num2str(x)])elsedisp('kakbkf(xk)')whileabs(ffx)>0.0001&a
5、([num2str(k),'',num2str(a),'',num2str(b),'',num2str(ffx)])end答案:kakbkf(xk)01.520.1089911.7520.1089921.87520.01658631.8751.9375-0.03523641.8751.9063-0.008863951.89061.90630.003976861.89061.8984-0.002414771.89451.89840.0007882981.89451.8965-0.0008113991.89451.8955-1.1094e-005二、普通迭代法clearsymsxfxg
6、x;gx=2*sin(x);fx=sin(x)-0.5*x;disp('kxf(x)')x=1.9;k=0;ffx=subs(fx,'x',x);whileabs(ffx)>0.0001;disp([num2str(k),'',num2str(x),'',num2str(ffx)])x=subs(gx,'x',x);ffx=subs(fx,'x',x);k=k+1;enddisp([num2str(k),'',num2str(x),'',num2str(ffx)])答案:kxf(x)01.9-0.003699911.89260.002366421.8973-0.001507531.
7、89430.0009627841.8962-0.0006139151.8950.0003918661.8958-0.0002499671.89530.0001595181.8956-0.0001017691.89546.4935e-005三、松弛迭代法clearsymsfxgxxdgx;gx=2*sin(x);fx=sin(x)-0.5*x;dgx=diff(gx,'x');x=1.9;k=0;ggx=subs(gx,'x',x);ffx=subs(fx,'x',x)