帕德近似基本原理,指数函数的帕德近似与Matlab实现

基本原理

  泰勒展开以多项式的形式对 f ( x ) f(x) f(x)进行逼近,帕德近似则是以有理分式的形式对目标函数 f ( x ) f(x) f(x)进行逼近。帕德近似的基本形式如下所示(以零点为邻域):
R m , n ( x ) = p ( x ) q ( x ) = p 0 + p 1 x + p 2 x 2 + . . . + p m x m 1 + q 1 x + q 2 x 2 + . . . + q n x n {R_{m,n}}\left( x \right) = \frac{{p\left( x \right)}}{{q\left( x \right)}} = \frac{{{p_0} + {p_1}x + {p_2}{x^2} + ... + {p_m}{x^m}}}{{1 + {q_1}x + {q_2}{x^2} + ... + {q_n}{x^n}}} Rm,n(x)=q(x)p(x)=1+q1x+q2x2+...+qnxnp0+p1x+p2x2+...+pmxm

其中, p ( x ) p(x) p(x) q ( x ) q(x) q(x)分别为 m m m n n n阶多项式, R m , n ( x ) {R_{m,n}}\left( x \right) Rm,n(x)也被称作 f ( x ) f(x) f(x) [ m , n ] [m,n] [m,n]阶帕德近似。注意, q ( x ) q(x) q(x)的常数项为 1 1 1

求解方法1

  利用 R m , n ( x ) R_{m,n}(x) Rm,n(x) f ( x ) , f(x), f(x) x = 0 x=0 x=0处,前 m + n m+n m+n阶导数与 f ( x ) f(x) f(x)对应项相等,求解帕德近似的系数:
{ R m , n ( x 0 ) = f ( x 0 ) R m , n ′ ( x 0 ) = f ′ ( x 0 ) R m , n ′ ′ ( x 0 ) = f ′ ′ ( x 0 ) ⋮ R m , n ( m + n ) ( x 0 ) = f ( m + n ) ( x 0 ) → { p 0 , p 1 , p 2 , . . . + p m q 1 , q 2 , . . . , q n \left\{ {\begin{array}{c} {{R_{m,n}}\left( {{x_0}} \right) = f\left( {{x_0}} \right)}\\ {{R_{m,n}^{'}}\left( {{x_0}} \right) = f'\left( {{x_0}} \right)}\\ {{R_{m,n}^{''}}\left( {{x_0}} \right) = f''\left( {{x_0}} \right)}\\ \vdots \\ {R_{m,n}^{\left( {m + n} \right)}\left( {{x_0}} \right) = {f^{\left( {m + n} \right)}}\left( {{x_0}} \right)} \end{array}} \right. \to \left\{ {\begin{array}{c} {{p_0},{p_1},{p_2},... + {p_m}}\\ {{q_1},{q_2},...,{q_n}} \end{array}} \right. Rm,n(x0)=f(x0)Rm,n(x0)=f(x0)Rm,n′′(x0)=f′′(x0)Rm,n(m+n)(x0)=f(m+n)(x0){p0,p1,p2,...+pmq1,q2,...,qn

  示例:求解 f ( x ) = e x f\left( x \right) = {e^x} f(x)=ex [ 1 , 1 ] [1,1] [1,1]阶帕德近似:
{ R 1 , 1 ( 0 ) = p 0 + p 1 x 1 + q 1 x = p 0 1 = 1 R 1 , 1 ′ ( 0 ) = p 1 − p 0 q 1 ( 1 + q 1 x ) 2 = p 1 − p 0 q 1 ( 1 ) 2 = 1 R 1 , 1 ′ ′ ( 0 ) = − 2 ( p 1 − p 0 q 1 ) ( 1 + q 1 x ) q 1 ( 1 + q 1 x ) 2 = − 2 ( p 1 − p 0 q 1 ) q 1 ( 1 ) 2 = 1 → { p 0 = 1 p 1 = 0.5 q 1 = − 0.5 \left\{ \begin{array}{l} {R_{1,1}}\left( 0 \right) = \frac{{{p_0} + {p_1}x}}{{1 + {q_1}x}} = \frac{{{p_0}}}{1} = 1\\ {R^\prime_{1,1}} \left( 0 \right) = \frac{{{p_1} - {p_0}{q_1}}}{{{{\left( {1 + {q_1}x} \right)}^2}}} = \frac{{{p_1} - {p_0}{q_1}}}{{{{\left( 1 \right)}^2}}} = 1\\ {R^{\prime \prime }_{1,1}}\left( 0 \right) = \frac{{ - 2\left( {{p_1} - {p_0}{q_1}} \right)\left( {1 + {q_1}x} \right){q_1}}}{{{{\left( {1 + {q_1}x} \right)}^2}}} = \frac{{ - 2\left( {{p_1} - {p_0}{q_1}} \right){q_1}}}{{{{\left( 1 \right)}^2}}} = 1 \end{array} \right. \to \left\{ \begin{array}{l} {p_0} = 1\\ {p_1} = 0.5\\ {q_1} = - 0.5 \end{array} \right. R1,1(0)=1+q1xp0+p1x=1p0=1R1,1(0)=(1+q1x)2p1p0q1=(1)2p1p0q1=1R1,1′′(0)=(1+q1x)22(p1p0q1)(1+q1x)q1=(1)22(p1p0q1)q1=1 p0=1p1=0.5q1=0.5

  于是, f ( x ) = e x f\left( x \right) = {e^x} f(x)=ex [ 1 , 1 ] [1,1] [1,1]阶帕德近似表达式为:
R 1 , 1 ( x ) = 1 + 0.5 x 1 − 0.5 x {R_{1,1}}\left( x \right) = \frac{{1 + 0.5x}}{{1 - 0.5x}} R1,1(x)=10.5x1+0.5x

求解方法2

  利用 f ( x ) f(x) f(x) x = 0 x=0 x=0处, m + n m+n m+n阶泰勒展开表达式,求解帕德近似 R m , n ( x ) R_{m,n}(x) Rm,n(x)的系数:
{ f ( x ) = p ( x ) + O ( x m + n ) = f ( 0 ) + f ′ ( 0 ) 1 ! x + f ′ ′ ( 0 ) 2 ! x 2 + . . . + f ( m + n ) ( 0 ) n ! x m + n + O ( x m + n ) f ( x ) = R m , n ( x ) + O ( x m + n ) = p 0 + p 1 x + p 2 x 2 + . . . + p m x m 1 + q 1 x + q 2 x 2 + . . . + q n x n + O ( x m + n ) \left\{ \begin{array}{l} f\left( x \right) = p\left( x \right) + O\left( {{x^{m + n}}} \right) = f\left( 0 \right) + \frac{{f'\left( 0 \right)}}{{1!}}x + \frac{{f''\left( 0 \right)}}{{2!}}{x^2} + ... + \frac{{{f^{\left( {m + n} \right)}}\left( 0 \right)}}{{n!}}{x^{m + n}} + O\left( {{x^{m + n}}} \right)\\ f\left( x \right) = {R_{m,n}}\left( x \right) + O\left( {{x^{m + n}}} \right) = \frac{{{p_0} + {p_1}x + {p_2}{x^2} + ... + {p_m}{x^m}}}{{1 + {q_1}x + {q_2}{x^2} + ... + {q_n}{x^n}}} + O\left( {{x^{m + n}}} \right) \end{array} \right. {f(x)=p(x)+O(xm+n)=f(0)+1!f(0)x+2!f′′(0)x2+...+n!f(m+n)(0)xm+n+O(xm+n)f(x)=Rm,n(x)+O(xm+n)=1+q1x+q2x2+...+qnxnp0+p1x+p2x2+...+pmxm+O(xm+n)

  示例,求解 f ( x ) = e x f\left( x \right) = {e^x} f(x)=ex [ 1 , 1 ] [1,1] [1,1]阶帕德近似:
{ e x = 1 + x + 1 2 x 2 + O ( x 2 ) e x = p 0 + p 1 x 1 + q 1 x + O ( x 2 ) → { 1 + x + 0.5 x 2 = p 0 + p 1 x 1 + q 1 x + O ( x 2 ) → 1 + ( 1 + q 1 ) x + ( 0.5 + q 1 ) x 2 = p 0 + p 1 x + O ( x 2 ) → { 1 = p 0 1 + q 1 = p 1 0.5 + q 1 = 0 → { p 0 = 1 p 1 = 0.5 q 1 = − 0.5 \left\{ \begin{array}{l} {e^x} = 1 + x + \frac{1}{2}{x^2} + O\left( {{x^2}} \right)\\ {e^x} = \frac{{{p_0} + {p_1}x}}{{1 + {q_1}x}} + O\left( {{x^2}} \right) \end{array} \right. \to \left\{ \begin{array}{l} 1 + x + 0.5{x^2} = \frac{{{p_0} + {p_1}x}}{{1 + {q_1}x}} + O\left( {{x^2}} \right)\\ \to1 + \left( {1 + {q_1}} \right)x + \left( {0.5 + {q_1}} \right){x^2} = {p_0} + {p_1}x + O\left( {{x^2}} \right) \end{array} \right. \to \left\{ \begin{array}{l} 1 = {p_0}\\ 1 + {q_1} = {p_1}\\ 0.5 + {q_1} = 0 \end{array} \right. \to \left\{ \begin{array}{l} {p_0} = 1\\ {p_1} = 0.5\\ {q_1} = - 0.5 \end{array} \right. {ex=1+x+21x2+O(x2)ex=1+q1xp0+p1x+O(x2){1+x+0.5x2=1+q1xp0+p1x+O(x2)1+(1+q1)x+(0.5+q1)x2=p0+p1x+O(x2) 1=p01+q1=p10.5+q1=0 p0=1p1=0.5q1=0.5

  于是, f ( x ) = e x f\left( x \right) = {e^x} f(x)=ex [ 1 , 1 ] [1,1] [1,1]阶帕德近似表达式为:
R 1 , 1 ( x ) = 1 + 0.5 x 1 − 0.5 x {R_{1,1}}\left( x \right) = \frac{{1 + 0.5x}}{{1 - 0.5x}} R1,1(x)=10.5x1+0.5x

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值