32非线性方程和方程组的数值计算.ppt

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

一. 区间二分法 基本原理 : 若 f(x) 在[a,b]上连续且单调,f(a)·f(b)<0 ,则根据连续 函数的介值定理,f(x)=0在(a,b)有惟一根ξ。 4)若经k+1次修正得到了方程的解 N-R法的几何意义 clear all e=0.001;%精度 x0=1;%初值 k=1; x(k)=0.5; while abs(x(k)-x0)>e x0=x(k); k=k+1; x(k)=x0-fun(x0)/dfun(x0,1e-4) end x 将N-R法推广到二阶 将N-R法推广到高阶 例:分别采用区间二分法和N-R法 计算方程 在[0,1]内的根。 解(1)对分法 * 非线性方程和方程组的求解 3.2 * 求方程f(x)=0的根,当f(x)较为复杂时,无解析解,只能求出方程的近似根。常用的方法有:对分法、迭代法、牛顿法等。 3.2 非线性方程和方程组的求解 编程过程 : 1. 令x0=(a+b)/2,计算f(x0); 2. 若f(x0)=0,则x0为所求的根,输出ξ=x0; 若f(a)· f(x0)<0,则令a=a, b=x0; 若f(a)· f(x0)>0,则令a=x0, b=b; 3. 若b-a≤ε(ε为预先给定的精度要求),输出ξ=(a+b)/2。 a b ξ x0 x1 x2 x f(x) 例1:求 在[0,1]中的实根近似值。 解: 因 在[0,1]中有实根 00.347290038 0.347412109 0.347167968 13 -0.0003054 0.347412109 00.347167968 12 0.0003387 0.347167968 00.346679687 11 0.001627 0.346679687 00.345703125 10 0.004206 0.345703125 00.34375 9 -0.000949 00.3515625 0.34375 8 -0.01124 0.3515625 0.359375 0.34375 7 -0.03171 0.359375 0.375 0.34375 6 0.009369 0.34375 0.375 0.3125 5 0.09302 0.3125 0.375 0.25 4 -0.07227 0.375 0.5 0.25 3 0.265625 0.25 0.5 0 2 -3.75 0.5 1 0 1 f(xk) xk bk ak k 输入 a, b, ? 定义f (x) f (a)? f (b)>0 k = 0 f (a)? f (b)=0 f (a) =0 打印b, k 打印a, k 结束 是 是 是 否 否 否 m=(a+b)/2 |a-b|<? f(a)?f(b)>0 打印m, k a=m b=m 结束 k=K+1 是 是 否 否 function [x,yc]=bisection(fun_2,a,b,tol) % fun_2:即函数f(x) % a b:求解区间 % x :f(x)=0的根 % yc:f(c) % tol:精度 ya=feval(fun_2,a); %feval:求函数值 yb=feval(fun_2,b); if ya*yb>0,return,end while abs(ya-yb)> tol x=(a+b)/2; yc=feval(fun_2,x); if ya*yc>0 a=x;ya=yc; else b=x;yb=yc; end end function y=f(x) y=x^3-3*x+1; 执行MATLAB命令: [x,y]=bisection('f',0,1,1e-3) 【例3-2-1】用区间二分法求 在[0,1]中的实根近似值。 先定义函数: function y=f(x) y=x^3-3*x+1; 执行MATLAB命令: [x,y]=bisection('f',0,1,1e-3) 牛顿法是求解方程f (x) = 0的一种重要的迭代法。它是一种将非线性方程f (x) = 0逐步线性化的方法,是解代数方程和超越方程的有效方法之一。 设:已知方程f (x) = 0的一个近似根x0,把f (x)在x0处作泰勒展开, 若取前两项来近似代替f (x)(称为f (x)的线性化),则得近似的线性方程 牛顿法(Newton's method)又称为牛顿-拉夫逊方法(Newton-Raphson method), 二、 牛顿-拉弗森

文档评论(0)

peain + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档