查看“︁努梅罗夫方法”︁的源代码
←
努梅罗夫方法
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
'''努梅罗夫方法'''属于四阶线性多步法,用于求解不出现一阶微分项的二阶[[常微分方程]]。努梅罗夫方法属于[[隐式方法]],但如果微分方程线性,则可转化为[[显式方法]]。该方法由 俄国天文学家[[Boris Vasil'evich Numerov]]提出。 == 方法 == 可由努梅罗夫方法求解的微分方程形式为 :<math> \left ( \frac{d^2}{dx^2} + f(x) \right ) y(x) = 0 </math> 求出函数 <math>y(x)</math> 在区间 <math>[a, b]</math> 上等距格点上的值,从连续的两个格点上的函数值 <math>x_{n-1}</math> 和 <math>x_n</math> 开始,其他的函数值可由 :<math> y_{n+1} = \frac {\left( 2-\frac{5 h^2}{6} f_n \right) y_n - \left( 1+\frac{h^2}{12}f_{n-1} \right)y_{n-1}}{1+\frac{h^2}{12}f_{n+1}} </math> 算得。 其中, <math>f_n=f(x_n)</math> 和 <math>y_n=y(x_n)</math> 为在格点 <math>x_n</math> 上的函数值,<math>h=x_n-x_{n-1}</math>为格点间距。 对于非线性方程, :<math> \frac{d^2}{dt^2} y = f(t,y) </math> 则非线性方程的'''努梅罗夫方法'''为 :<math> y_{n+1} = 2y_n - y_{n-1} + \tfrac{1}{12} h^2 (f_{n+1} + 10f_n + f_{n-1}). </math> 该式为隐式的[[线性多步方法]]。当 <math>f</math> 是 <math>y</math> 的线性函数时,该式变为显式方法,精度为4阶{{harv|Hairer|Nørsett|Wanner|1993|loc=§III.10}}。 == 应用 == 在物理中用于数值求解任意势场中径向[[薛定谔方程]]: :<math> \left [ -{\hbar^2 \over 2\mu} \left ( \frac{1}{r} {\partial^2 \over \partial r^2} r- {l(l+1) \over r^2} \right ) + V(r) \right ] R(r) = E R(r) </math> 此式可重写为 :<math> \left [ {\partial^2 \over \partial r^2} - {l(l+1) \over r^2} + { 2\mu \over \hbar^2} \left( E - V(r)\right) \right ] u(r) = 0 </math> 其中 <math> u(r) = r R(r)</math>. 与Numerov方法求解的方程形式做比较, :<math> f(x) = \frac{2\mu}{\hbar^2} \left(E - V(x) \right) - \frac{l(l+1)}{x^2} </math> 这样,我们可以数值求解薛定谔方程。 == 推导 == 从 <math>y(x_n)</math> 的[[泰勒展开]]开始, 我们可求 <math>x_n</math> 的相接邻点上的函数值 :<math> y_{n+1} = y(x_n+h) = y(x_n) + hy'(x_n) + \frac{h^2}{2!}y''(x_n) + \frac{h^3}{3!}y'''(x_n) + \frac{h^4}{4!}y''''(x_n) + \frac{h^5}{5!}y'''''(x_n) + \mathcal{O} (h^6) </math> :<math> y_{n-1} = y(x_n-h) = y(x_n) - hy'(x_n) + \frac{h^2}{2!}y''(x_n) - \frac{h^3}{3!}y'''(x_n) + \frac{h^4}{4!}y''''(x_n) - \frac{h^5}{5!}y'''''(x_n) + \mathcal{O} (h^6) </math> 上两式之和为 :<math> y_{n-1} + y_{n+1} = 2y_n + {h^2}y''_n + \frac{h^4}{12}y''''_n + \mathcal{O} (h^6) </math> 用所求微分方程的定义式 <math>y''_n = -f_n y_n</math> 替换掉 <math>y''_n</math>, :<math> h^2 f_n y_n = 2y_n-y_{n-1} - y_{n+1} + \frac{h^4}{12}y''''_n + \mathcal{O} (h^6) </math> 对所求微分方程的定义式 <math>y''_n = -f_n y_n</math> 取二次微分 :<math> y''''(x) = - \frac{d^2}{d x^2} \left[ f(x) y(x) \right] </math> 将其代入到四阶微分项中,并把二阶导 <math>\frac{d^2}{d x^2} \left[ f(x) y(x) \right]</math> 替换为 <math> f_n y_n</math> 的二阶差分公式 <math>\frac{f_{n-1} y_{n-1} -2 f_{n} y_{n} + f_{n+1} y_{n+1}}{h^2}</math> :<math> h^2 f_n y_n = 2y_n-y_{n-1} - y_{n+1} - \frac{h^4}{12} \frac{f_{n-1} y_{n-1} -2 f_{n} y_{n} + f_{n+1} y_{n+1}}{h^2} + \mathcal{O} (h^6) </math> 求解 <math>y_{n+1}</math> 可得 :<math> y_{n+1} = \frac {\left( 2-\frac{5 h^2}{6} f_n \right) y_n - \left( 1+\frac{h^2}{12}f_{n-1} \right)y_{n-1}}{1+\frac{h^2}{12}f_{n+1}} + \mathcal{O} (h^6). </math> 忽略掉 <math>\mathcal{O} (h^6)</math> 就可以得到努梅罗夫方法,最终收敛阶数为4(假定稳定)。 == 参考文献 == * {{Citation | last1=Hairer | first1=Ernst | last2=Nørsett | first2=Syvert Paul | last3=Wanner | first3=Gerhard | title=Solving ordinary differential equations I: Nonstiff problems | publisher=[[Springer-Verlag]] | location=Berlin, New York | isbn=978-3-540-56670-0 | year=1993}}. <br> This book includes the following references: **{{Citation | last1=Numerov | first1=Boris Vasil'evich | author1-link=Boris Vasil'evich Numerov | title=A method of extrapolation of perturbations | year=1924 | journal=[[Monthly Notices of the Royal Astronomical Society]] | volume=84 | pages=592–601}}. **{{Citation | last1=Numerov | first1=Boris Vasil'evich | author1-link=Boris Vasil'evich Numerov | title=Note on the numerical integration of d<sup>2</sup>''x''/d''t''<sup>2</sup> = ''f''(''x'',''t'') | year=1927 | journal=[[Astronomische Nachrichten]] | volume=230 | pages=359–364}}. == 外部链接 == *[http://www.jkrieger.de/download/computerphysik.pdf Lecture notes: Computerphysik und Numerik] {{Wayback|url=http://www.jkrieger.de/download/computerphysik.pdf |date=20160303212010 }} - by Jan Krieger *[https://web.archive.org/web/20090307182712/http://magnet.atp.tuwien.ac.at/scholz/projects/numerov/node2.html#SECTION00020000000000000000 Lecture notes of Werner Scholz] - At Vienna University of Technology *[http://www.stellarcom.org/aw/Physik/cp/node48.html Lecture notes of Alexander Wagner] {{Wayback|url=http://www.stellarcom.org/aw/Physik/cp/node48.html |date=20160303190253 }} [[Category:数值微分方程]]
该页面使用的模板:
Template:Citation
(
查看源代码
)
Template:Harv
(
查看源代码
)
Template:Wayback
(
查看源代码
)
返回
努梅罗夫方法
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息