正在加载图片...
牛顿切线法 若x为重根f(x’)=f(x)=0口(x≠0 f(x)在x作Ta展开,去掉2阶及2阶以上项得 f(x)=f()+f(x x-x) 牛顿切线法1阶收斂重数越高,收敛越慢 设∫'(x,)≠0,用x代替右端的x,由f(x)=0得 牛顿 f(x 即令g(x)=x-(x) 制线法用差商(x)-/()代替f(x) o(x)=x1).p(x)=x f(x4)(x4-x,-) f(x) y=若x为单根fx)=0,f(x)f(x)≠0 收敛速度比牛顿切线法稍慢 口g(x)=0,9(x)≠0 xx为单根时收敛阶数是1618 牛顿切线法2阶收敛 大学学实编) 解非线性方程组的牛顿法 解非线性方程组的牛顿法 解方程x)=0f(xk+1)=f(x4)+f(xk(xk+1-xk) F(x)=0,x=[x,…xn},F(x)=[1(x)…fn(x) 的牛顿切线法 k f(r) 9.….9解方程x)=0 推广到解方程组 F(x)=0,x=[x,…xn},F(x)=[1(x)…fn(x) n可fn f(x4)=f(x2)+ (x11-x4) F(x2+)=F(x2)+F(x)(x1-x2) +…+可(x)-x2)1=1.2,…n r-F(rf() E F()Ar=-F(r) x +=r+Ar (学学奖 大学费学买验 拟牛顿法( Quasi-Newton) MATLAB优化工具箱解非线性方程 解方程∫(x)=0 的牛顿割线法f(x+1 fzero:单变量方程f(x)=0求根变号成) 录彩或 xu fzero(afx0) f(x) a4=(x)-f(x和 必须输入:'为m函数名,'x0是选代初值(或有根区间 k k-l 一形式|x,f,ef, outl-fzero(af,x0,opt,Pl,P2,…) 解方程组的拟牛顿法—用A代誉F(x4) 可选输入:“P1,P2”是传给Lm的参数(如果需要的话) pr是一个结构变量,控制参数(如精度Io) 使满足A(x4-xk-1)=F(x)-F(x- op可用 optimise设定,不指定或指定为时将采用缺省值 矩阵A(n2个未知数)不能由这样的n个方程确定 用迭代方法A4=A4-1+A4-1(△4有不同的构造)计算A 输出:'’是腾;'e『是程序尊止觉行的圆(1,01); 是一个首物量,包 再求x+1=x-()-1F(xk iterations代次款), uncount( 宗: exampleFzero.m4 牛顿切线法 f (x)在 k x 作Taylor 展开,去掉2阶及2阶以上项得 ( ) ( ) ( )( ) k k k f x = f x + f ′ x x− x ( ) ( ) , ( ) ( ) ( ) ( ) ( ) * * * * 2 * * * f x f x x f x f x f x x ′ ′′ ′′ = ′ ′′ ϕ′ = ϕ 牛顿切线法2阶收敛 ( ) 0, * f x = ( ), ( ) 0 * * f ′ x f ′′ x ≠ ( ) 0, ( ) 0 * * ϕ′ x = ϕ′′ x ≠ 若x*为单根 设 ′( ) ≠ 0 k f x , 用 k + 1 x 代替右端的 x , 由 f ( x ) = 0 得 ( ) ( ) 1 k k k k f x f x x x ′ + = − , 即 令 ( ) ( ) ( ) f x f x x x ′ ϕ = − xk xk+1 M N x O y=f(x) y f(xk) 牛顿 割线法 用差商 1 1 ( ) ( ) − − − − k k k k x x f x f x 代替 ( ) k f ′ x ( ) ( ) ( )( ) 1 1 1 − − + − − = − k k k k k k k f x f x f x x x x x x* 为单根时收敛阶数是 1.618 y O xk+1 x y=f(x) P Q xk-1 xk 若x*为重根 ( ) 0 * ϕ′ x ≠ 牛顿切线法1阶收敛 收敛速度比牛顿切线法稍慢 ( ) ( ) 0 * * f x = f ′ x = 重数越高,收敛越慢 解非线性方程组的牛顿法 T n T n F(x) 0, x [x , x ] , F(x) [ f (x), f (x)] = = 1 L = 1 L ( ) ( ) ( )( ) k 1 k k k 1 k f x = f x + f ′ x x − x + + ( ) 1 ( ) k k k k f x f x x x ′ = − + 解方程 f(x)=0 的牛顿切线法 推广到解方程组 x x i n x f x x x x f x f x f x k n k n n k i k k k k i i k i L ( ), 1,2,L ( ) ( ) ( ) ( ) ( ) 1 1 1 1 1 1 − = ∂ ∂ + + − ∂ ∂ = + + + + ( ) ( ) ( )( ) k 1 k k k 1 k F x = F x + F′ x x − x + + [ ( )] ( ) k 1 k k 1 k x x F x F x + − = − ′ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ ⎤ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ ⎡ ∂ ∂ ∂ ∂ ∂ ∂ ∂ ∂ = ∂ ∂ ′ = × n n n n n n j i x f x f x f x f x f F x LL LL LL 1 1 1 1 ( ) [ ] T n T n F(x) 0, x [x , x ] , F(x) [ f (x), f (x)] = = 1 L = 1 L ( ) ( ) ( )( ) k 1 k k k 1 k f x = f x + f ′ x x −x + + ( ) 1 ( ) k k k k f x f x x x ′ = − + 解方程 f(x)=0 k k k x = x + ∆x +1 ( ) ( ) k k k F′ x ∆x = −F x 解非线性方程组的牛顿法 解方程 f(x)=0 的牛顿割线法 ( ) ( ) ( ) k 1 k k k 1 k f x = f x + a x − x + + k k k k a f x x x 1 ( ) = − + 1 1 ( ) ( ) − − − − = k k k k k x x f x f x a 解方程组的拟牛顿法——用Ak代替F′(xk) ( ) ( ) ( ) −1 −1 − = − k k k k k k 使A 满足 A x x F x F x 矩阵Ak(n2个未知数)不能由这样的n个方程确定 k k k k 用迭代方法A A A ( A有不同的构造)计算A 1 1 = + ∆ ∆ − − ( ) ( ) k 1 k k 1 k x x A F x + − 再求 = − 拟牛顿法(Quasi-Newton) MATLAB优化工具箱解非线性方程 fzero: 单变量方程 f(x)=0 求根(变号点) 最简形式 x= fzero(@f, x0 ) 可选输入: “P1,P2,...”是传给f.m的参数(如果需要的话) ’opt’是一个结构变量,控制参数(如精度TolX ) opt可用optimset设定, 不指定或指定为’[ ]’时将采用缺省值 如: opt=optimset(‘TolX’,1e-8) 输出: ’fv’是函数值; ’ef’是程序停止运行的原因(1,0,-1); ’out’是一个结构变量,包含: iterations(迭代次数), funcCount (函数调用次数), algorithm(所用算法) 一般形式 [x, fv, ef, out] = fzero(@f, x0, opt, P1, P2, ... ) 必须输入: ’f’为f.m函数名,’x0’是迭代初值(或有根区间) 输出: ’x’是变号点的近似值(函数不连续时不一定是根) 演示: exampleFzero.m
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有