第二章非线性方程(组)解析.pptVIP

  • 36
  • 0
  • 约1.27万字
  • 约 60页
  • 2016-10-28 发布于湖北
  • 举报
上述这些问题,都归结为求非线性函数方程的零点,即求x*,使 设f(x)=0为具有复系数的n次代数方程, 【注】1)简化牛顿法,只是线性收敛。 2)将m步简化牛顿法组成一步牛顿迭代,得 修正牛顿法 【注】 修正迭代法具m+1有阶收敛速度。 1)下山法:扩大收敛范围 2)割线法:避免求导数计算 3)阻尼牛顿法: 例18 分别用牛顿法、简化牛顿法及修正牛顿法 解方程组 , 非线性方程(组) 解 1)用牛顿法5次; 2)若用简化牛顿法; 3)修正牛顿法. 2.6.3 最速下降法 构造各方程的平方和函数, 求解 多元函数 的极小值问题 。 最速下降法 即梯度法 原理 (1)选方向负梯度方向 (2)选步长求t0使 最速下降法迭代公式: 迭代计算,直至 Φ 的值降到很小。 非线性方程(组) 【注】最速下降法能收敛,收敛速度不如牛顿迭代法联合使用,可取长补短。 2.7 求解非线性方程(组)的MATLAB函数 一、solve函数 求解析解或数值解,命令格式为: solve(eqn1,eqn2,...,eqnN) 1、求解方程(组)的解析表达式 例 解三角方程 x 为未知变量。 x = solve(p*sin(x) = r) x = asin(r/p) 例 解非线性方程组 为未知变量。 非线性方程(组) [u,v] = solve(a*u^2 + v^2 = 0,u - v = 1) u = 1/2/(a+1)*(-2*a-2*(-a)^(1/2))+1 v = 1/2/(a+1)*(-2*a-2*(-a)^(1/2)) 2、求方程(组)的数值解 例 解非线性方程组 为未知变量。 [x,y] = solve(x^2 + x*y + y = 3,x^2 - 4*x + 3 = 0) x =[ 3] , y =[ -3/2] 3、求多项式方程的全部根 例 求多项式方程 的根。 x = solve(x^2-3*x+2=0) x = 1 非线性方程(组) 例 求多项式方程 的根。 x=roots([1 0 -2 -5]) x = -1.0473 - 1.1359i 二、fzero函数 1、fzero函数 求一元函数的零点,命令格式为: x = fzero(fun,x0) 例 求方程 的根,取初始点 x = fzero(x^3-x-1,1.5) x = 1.3247 三、fsolve函数 1、fsolve函数 求非线性方程(组)的解, 命令格式为: x = fsolve(fun,x0) 非线性方程(组) 例 求方程 在1和4附近的根。 fun = inline(sin(3*x)) x = fsolve(fun,[1 4],optimset(Display,off)) x = 1.0472,4.1888 例 求非线性方程组 在 附近的解。 function F = fun4(x) ;F = [2*x(1) - x(2) - exp(-x(1)); -x(1) + 2*x(2) - exp(-x(2))] [x,fval] = fsolve(@fun4,[-5; -5])0 x = (0.5671, 0.5671)fval = 1.0e-006 *(-0.4059,-0.4059)‘ 2、选择项options的使用 非线性方程(组) 例 求非线性方程组 在 附近的解。 function [f,J]= fun5(x) f=[2*x(1) - x(2) - exp(-x(1)) ; -x(1) + 2*x(2) -exp(-x(2))]; J=[2 + exp(-x(1)) -1 ; -1 2 + exp(-x(2))]; options=optimset(Jacobian,on,Display,iter); [x,fval] = fsolve(@fun5,[-5; -5],options) Norm of First-order Trust-region Iteration Func-count f(x) step optimality

文档评论(0)

1亿VIP精品文档

相关文档