matlab求代数方程的近似艮实验报告三.doc_第1页
matlab求代数方程的近似艮实验报告三.doc_第2页
matlab求代数方程的近似艮实验报告三.doc_第3页
matlab求代数方程的近似艮实验报告三.doc_第4页
matlab求代数方程的近似艮实验报告三.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

matlab与数学实验实验报告实验序号: 实验三 日期: 2015 年 5 月 22 日班级132132002姓名 彭婉婷学号 1321320057实验名称 求代数方程的近似根(解)问题背景描述本实验介绍一些求方程实根的近似值的有效方法,要求在使用这些方法前先确定求根区间,或给出某根的近似值在实际问题抽象出的数学模型中,可以根据物理背景确定;也可根据的草图等方法确定,还可用对分法、迭代法以及牛顿切线法大致确定根的分布情况实验目的1. 了解对分法、迭代法、牛顿切线法求方程近似根的基本过程;2. 求代数方程(组)的解实验原理与数学模型7.11.0(R2010b)对分法思想:将区域不断对分,判断根在某个分段内,再对该段对分,依此类推,直到满足精度为止对分法适用于求有根区间内的单实根或奇重实根迭代法的基本思想:由方程构造一个等价方程从某个近似根出发,令,可得序列,这种方法称为迭代法松弛法:若与同是的近似值,则是两个近似值的加权平均,其中称为权重,现通过确定看能否得到加速Altken方法:松弛法要先计算,在使用中有时不方便,为此发展出以下的 Altken 公式:,是它的根,是其近似根牛顿法的基本思想:是非线性方程,一般较难解决,多采用线性化方法附加题Eye()Diag(ones(7,1),1)主要内容(要点) 4分别用对分法、普通迭代法、松弛迭代法、Altken 迭代法、牛顿切法线等5种方法,求方程 的正的近似根,(建议取 )时间许可的话,可进一步考虑 的情况)附加:思考:若 ,或是类似的但阶数更大的稀疏方阵,则应如何得到?实验过程记录(含基本步骤、主要程序清单及异常情况记录等)4、分别用对分法、普通迭代法、松弛迭代法、Altken 迭代法、牛顿切法线等5种方法,求方程 的正的近似根,(建议取 )一、对分法图像程序:f=sin(x)-0.5*x; g=0; ezplot(f, -4, 4); hold on; ezplot(g, -4, 4); %目的是画出直线 y=0,即 x 轴grid on; axis(-4 4 -5 5); hold off 求解程序:clearsyms x fx;a=1.5;b=2;fx=sin(x)-0.5*x;x=(a+b)/2;k=0;ffx=subs(fx,x,x);if ffx=0; disp(the root is:,num2str(x)else disp(k ak bk f(xk)while abs(ffx)0.0001 & ab; disp(num2str(k), ,num2str(a), ,num2str(b), ,num2str(ffx) fa=subs(fx,x,a);ffx=subs(fx,x,x); if fa*ffx0.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)答案:k x f(x)0 1.9 -0.00369991 1.8926 0.00236642 1.8973 -0.00150753 1.8943 0.000962784 1.8962 -0.000613915 1.895 0.000391866 1.8958 -0.000249967 1.8953 0.000159518 1.8956 -0.000101769 1.8954 6.4935e-005三、松弛迭代法clearsyms fx gx x dgx;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);dgxx=subs(dgx, x, x);disp(k x w)while abs(ffx)0.0001; w=1/(1-dgxx); disp(num2str(k), , num2str(x), , num2str(w) x=(1-w)*x+w*ggx;k=k+1; ggx=subs(gx, x, x);ffx=subs(fx, x, x);dgxx=subs(dgx, x, x);end disp(num2str(k), , num2str(x), , num2str(w)答案k x w0 1.9 0.607321 1.8955 0.60732四、Altken 迭代法clearsyms x fx gx;gx=2*sin(x);fx=sin(x)-0.5*x;disp(k x x1 x2)x=1.9;k=0;ffx=subs(fx, x, x);while abs(ffx)0.0001;u=subs(gx, x, x);v=subs(gx, x, u); disp(num2str(k), , num2str(x), , num2str(u), , num2str(v)x=v-(v-u)2/(v-2*u+x);k=k+1;ffx=subs(fx, x, x);enddisp(num2str(k), , num2str(x), , num2str(u), , num2str(v)答案k x x1 x20 1.9 1.8926 1.89731 1.8955 1.8926 1.8973五、牛顿切法clearsyms x fx gx;fx=sin(x)-0.5*x;gx=diff(fx,x);x1=1.9;k=0;disp(k x1)fx1=subs(fx,x,x1);gx1=subs(gx,x,x1);while abs(fx1)0.0001; disp(num2str(k), ,num2str(x1) x1=x1-fx1/gx1;k=k+1; fx1=subs(fx,x,x1); gx1=subs(gx,x,x1);enddisp(num2str(k), ,num2str(x1)答案k x10 1.91 1.8955附加:思考:若 ,或是类似的但阶数更大的稀疏方阵,则应如何得到?clearA=eye(7);a1=diag(ones(7,1),1);a2=rot90(a1,2);a3=2*eye(8);m=a1+a2+a3;disp(m)答案2 1 0 0 0 0 0 01 2 1 0 0 0 0 00 1 2 1 0 0 0 00 0 1 2 1 0 0 00 0 0 1 2 1 0 00 0 0 0 1 2 1 00 0 0 0 0 1 2 10 0 0 0 0 0 1 2实验结果报告与实验总结实验结果:一、对分法1.89451.8984 迭代步数:9二、普通迭代法1.8954 迭代步数:9三、松弛迭代法1.8955 迭代步数:2四、Altken 迭代法1.8955 1.8926 迭代步数:2五、牛顿切法1.8955 迭代步数:2实验总

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论