数值计算实践报告.doc

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数值计算实践报告

---数值计算实践 上机报告 学院:理学院 指导老师:范晓娜老师 姓名:王红 学号:日期:2015年10月11日—24日 一、方程求根 ?一?实验目的 问题描述 ?来终止| (3)可供研究的问题: (一)?的取值不同对收敛速度有多大的影响 (二)将注(?)中的初值该为其它的初值,对收敛性以及收敛速度有无影响 ?三?能否求出方程的所有的根 算法介绍(包括基本原理) 程序 %NEWTON 牛顿法求根 if nargin2 error(输入参数至少需要两个!) end if nargin3 || isempty(eps) eps=1e-6; end if nargin4 || isempty(maxiter) maxiter=1e4; end s=symvar(fun); if length(s)1 error(函数fun必须只包含一个符号变量。) end df=diff(fun,s); k=0;err=1; while abs(err)eps k=k+1; fx0=subs(fun,s,x0); dfx0=subs(df,s,x0); if dfx0==0 error(f(x)在x0处的导数为0,停止计算) end x1=x0-fx0/dfx0; err=x1-x0; x0=x1; X(k)=x1; end if k=maxiter error(迭代次数超限,迭代失败!) end x=x1;fx=subs(fun,x);iter=k;X=X; 调用程序: syms x y=x^3+2*x-0.205061208; [x,fx,iter,X]=newton(y,1) 割线法 函数文件: function xc=CutLine(f,x0,x1,tol) ????x(1)?=?x0; ????x(2)?=?x1; ????i?=?2; ????while?1 ????????x(i?+?1)?=?x(i)?-?(f(x(i))?*?(x(i)?-?x(i?-?1)))?/?(f(x(i))?-?f(x(i?-?1))); ????????if(abs(x(i?+?1)?-?x(i))??tol) ????????????break; ????????end ????????i?=?i?+?1; ????end ????xc?=?x(i?+?1); end 调用程序: clear fun=inline(x^3+2*x-0.205061208); cutline(fun,0,1,1e-6),format short 抛物线 函数文件: function x=parabola(f,x0,x1,x2,e) if nargin4,e=1e-4;end x=x2;y=x1;z=x0; while abs(x-y)e h1=y-z; h2=x-y; c1=(feval(f,y)-feval(f,z))/h1; c2=(feval(f,x)-feval(f,y))/h2; d=(c1-c2)/(h2+h1); w=c2+h2*d; xi=x-(2*feval(f,x))/(w+(w/abs(w))*sqrt(w^2-4*feval(f,x)*d)); z=y; y=x; x=xi; End 调用程序: fun=inline(sin(x)+2*x-0.3058232); parabola(fun,0,0.5,1,1e-6),format short 计算结果 clear fun=inline(x^3+2*x-0.205061208); cutline(fun,0,1,1e-6),format short n = 5 ans = 0.1020 方程二: clear fun=inline(sin(x)+2*x-0.205061208); cutline(fun,0,0.2,1e-6),format short n = 3 ans = 0.1020 方程三: clear fun=inline((x^3+2*x-0.205061208)*(x-0.102)^2); cutline(fun,-1,1,1e-6),format short n = 41 ans = 0.1020 方程四: clear fun=inline((x^3+2*x-0.20506

文档评论(0)

精品文档 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档