首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >二阶方法比一阶方法差吗?

二阶方法比一阶方法差吗?
EN

Stack Overflow用户
提问于 2016-11-18 21:54:31
回答 1查看 294关注 0票数 1

我在思考数值分析中的一个基本问题。

众所周知,在离散常微分方程时,二阶方法比一阶方法更精确,因为二阶方法的截断误差为O(dx^2),一阶方法的截断误差为O(dx^2)。当0< dx < 1时,这是真的。

如果dx > 1怎么办?例如,域是0到10000,网格大小是1000,那么dx = 10。在这种情况下,由于dx^2 = 100和dx = 10,二阶方法是否不像一阶方法那样精确?我们在处理大规模问题时会遇到这种情况,比如气候建模(云的大小可能是几公里)。

EN

回答 1

Stack Overflow用户

发布于 2017-01-17 07:24:27

二阶方法并不比一阶方法更精确,因为对于dx的某些值,dx^2 < dx。这是关于小dx的渐近收敛速度的陈述。

另外,直接比较dx^2和dx是没有意义的,因为dx不是一个无单位的量,它是一个长度。所以你试图将一个面积与一个长度进行比较,这是没有意义的。

big-O notation中,如果一个量收敛于O( dx^2 ),那么这通常意味着误差的形式是e= a2 dx^2+ a3 dx^3 + ...前导系数a2的单位是X/米^2,其中X是你的误差所在的单位,也许你可以用其他的长度代替米。同样,对于一阶解,误差形式为b1 dx + b2 dx^2 + ...,其中b1以X/米为单位。

因此,如果您决定可以忽略非前导项(对于较大的dx值,您可能不能这样做),则不是在dx^2和dx之间进行比较,而是在a2 dx^2和b1 dx之间进行比较。显然,这两个误差项之间存在交叉,但不是在dx=1,而是在dx = b1/a2。如果你的离散化如此粗糙,你可能不会处于可以忽略高阶项的渐近状态,而且你的解决方案可能是非常不准确的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40678858

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档