数值计算方法-非线性方程试题.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实 验 报 告 实验课程名称 数值计算方法 实验项目名称 非线性方程 年 级 专 业 学生姓名 学 号 00 学 院 实验时间: 年 月 日 姓 名 学 号实验组实验时间 指导教师 成 绩实验项目名称非线性方程 1. 实验目的及要求: 非线性方程 (1)、Newton迭代法 (2)、非线性方程组的Newton法(举例实现) (3)、有重根的方程,求重根及根数 (4)、其他方法(二分法)  2. 实验(或算法)原理: Newton迭代法: 设r是的根,选取作为r的初始近似值,过点做HYPERLINK /view/400.htm曲线的切线L,L的方程为,求出L与x轴交点的横坐标,称x1为r的一次近似值。过点做曲线的切线,并求该切线与x轴交点的横坐标 ,称为r的二次近似值。重复以上过程,得r的近似值序列,其中,称为r的次近似值,上式称为牛顿HYPERLINK /view/461623.htm迭代公式。 用牛顿迭代法解非线性方程,是把非线性方程线性化的一种近似方法。把在点的某邻域内展开成HYPERLINK /view/51376.htm泰勒级数 ,取其线性部分(即泰勒展开的前两项),并令其等于0,即,以此作为非线性方程的近似方程,若,则其解为, 这样,得到牛顿迭代法的一个迭代关系式: 。 3. 实验硬件及软件平台: MATLAB(R2014a) 4. 实验步骤: 分析问题; 确定程序主线,进行模块化; 编写程序; 4. 调试,优化。 5. 实验内容(包括实验具体内容、算法分析、源代码等等)及结果: (1)、Newton迭代法 newton.m clear clc f=@(x)wuzu(x); x1=input(请输入初值); eps=input(请输入误差精度); b=qiudao(x1); x2=x1-f(x1)/b; i=1; while abs(x2-x1)=eps x1=x2; b=qiudao(x1); x2=x1-f(x1)/b; i=i+1; if i==1000 disp(newton迭代法很可能不收敛 !) break; end end x=x2 qiudao.m function y=qiudao(a) f=@(x)wuzu(x); h=0.001; while abs(f(a+h)-f(a-h))=0.0001 h=h/10; end y=(f(a+h)-f(a-h))/(2*h); end wuzu.m function y=wuzu(x) y=x^4+x^2+x-8; End . 非线性方程组的Newton法(举例实现) newton.m clear clc [F,v]=wuzu; x1=input(请输入初值:); eps=input(请输入误差精度:); b=jacobian(F,v); for i=1:1:length(x1) b=subs(b,v(i),x1(i)); F=subs(F,v(i),x1(i)); end b=eval(b); F=eval(F); x2=x1-b\F; i=1; while max(abs(x2-x1))=eps x1=x2; F=wuzu; b=jacobian(F,v); for i=1:1:length(x1) b=subs(b,v(i),x1(i)); F=subs(F,v(i),x1(i)); end b=eval(b); F=eval(F); x2=x1-b\F; i=i+1; if i==1000 break; end end if i=1000 disp(newton迭代法很可能不收敛!) else disp(方程的根是:); x=x2 End wuzu.m function [F,v]=wuzu syms x y f1=x^2-10*x+y^2+8; f2=x*y^2+x-10*y+8; F=[f1,f2]; v=[x,y]; End 、有重根的方程,求重根及根数 newton.m clear clc f=wuzu; x1=input(请输入初

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

我是一名原创力文库的爱好者!从事自由职业!

1亿VIP精品文档

相关文档