1、仅供个人参考 不得用于商业用途 二分法实验(1) 上机题目 实验目的:熟悉二分法并在计算机上实现 实验要求: 1上机前充分准备,复习有关内容,写出计算步骤,查对程序; pers onal use only in study and research; not for commercial use 2完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步骤 陈述, 变量说明,程序清单,输出计算结果,结果分析等等; 3用编好的程序在Matlab环境中执行。 算法说明: For pers onal use only in study and research; not for comme
2、rcial use 1找出 计算f(x)在有限根区间a, b端点的值,f(a),f(b) 2计算 计算 f(x)在区间中点(电卫)处的值 f(a b). 2 2 3判断若 f(a b)=0,则电卫即是根,计算过程结束,否则检验若(旦 b )f(a)0,则以 2 2 2 a ba b 代替 b,否则以代替 a.反复执行步骤 和步骤 ,直到区间a, b长度小于允许误 2 2 差,此时中点 卫即为所求近似根。 2 计算例题:求 f(x)=x3- x-1 在1,1.5的零点.f(1)0,delta=d=10上 不动点迭代法实验 上机题目:不动点迭代法的实现 实验目的:熟悉迭代法并在计算机上实现 实验要
3、求: 1上机前充分准备,复习有关内容,写出计算步骤,查对程序; 2完成实验后写出完整的实验报告,内容应该包括:所用的算法语言,算法步骤 陈述, 变量说明,程序清单,输出计算结果,结果分析等等; 3用编好的程序在Matlab环境中执行。 算法说明: 1准备 将 f (x) = 0 改写为等价的形式 x 二(x)。若要求 x*满足 f (x)=,则 * . * X = (x );反之亦然。求 f (x)的零点,等价于求的不动点,选择一个初始近似值 X。代 入 X 二(x)右端,得 X1二 ;:(xo) 。如此反复迭代计算 Xk厂(Xjk =0乙,此为迭 代公式。 2不动点的存在性迭代法的收敛性 仅
4、供个人参考 不得用于商业用途 定理1设(x)- Ca,b满足: 对任意 x a,b有 am (x)b; (2)存在正常数L0 x=char( none ); k=0; error=char( NONE ); disp( 在给定区间不存在实根) else m=a; n=b; N=10000; for k=1:N x0=(m+n)/2; M=f(m); t=f(x0); if t=0 x=x0; else t; end if t*M0 n=x0; else m=x0; end x=(m+n)/2; error=abs(x-x0); if errordelta break ; end end end
5、 仅供个人参考 不得用于商业用途 2不动点迭代法: function x,k,error=BDdiedai(f,x0,a,b,delta) % 不动点迭代法求方程的根 % =左边: 给定区间内的一个实根 , 迭代次数 , 误差 % = 右边: BDdiedai( 迭代算式 , 初始近似值,区间左端点,区间右端点,预定精度 ) f=inline(f); g=inline(diff(sym(f); if max(f(a),f(b)b x=char( none ); k=0; error=char( none ); disp( 重新确认区间 ); else if min(abs(g(a),abs(g
6、(b)1 disp(迭代公式错误 ); disp(无法求解 x ); x=char( none ); k=0; error=char( none ); else N=10000; for k=1:N x=f(x0); x0=x; error=abs(x-f(x0); if errordelta break ; end end end end 3牛顿法: function x,k,error=niudunfa(f,x0,delta) % 牛顿法求方程的根 % =左边: 给定区间内的一个实根 , 迭代次数 , 误差 % = 右边: erfenfa( 函数表达式 ,迭代初值,预定精度 ) f=inl
7、ine(f); g=inline(diff(sym(f); N=10000; for k=1:N x=x0-f(x0)/g(x0); x1=x0; x0=x; error=abs(x-x1); if error x,k,error=erfe nfa(xA3-x-1,1.0,1.5,1e-10) x = 1.3247 k = 32 error = 5.8208e-011 不动点迭代法: x,k,error=BDdiedai(x+1)A(1,1.5,1,1.5,1e-6) x = 1.3247 error = 仅供个人参考 不得用于商业用途 2.3346e-007 3牛顿法: x,k,error=
8、ni udu nfa(xA3-x-1,1.5,1e-6) x = 1.3247 error = 2.1675e-007 结果分析: 二分法需要迭代32次,不动点迭代法需要迭代8次,牛顿法需要迭代4次 牛 顿法求解方程的根最快。 仅供个人参考 不得用于商业用途 仅供个人用于学习、研究;不得用于商业用途 For personal use only in study and research; not for commercial use. Nur fur den pers?nlichen fur Studien, Forschung, zu kommerziellen Zweckenerwendet werden. Pour l etude et la recherche uniquementades fins personnelles; pasades fins commerciales. TO员BKOgA.nrogeHKO TOpMenob3ymoiflCH6yHeHuac egoB u HHuefigoHM ucno员B30BaTbCEBKOMMepqeckuxqe员EX. _ 以下无正文_