首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据结果检查数值方法的收敛性?(八度)

如何根据结果检查数值方法的收敛性?(八度)
EN

Stack Overflow用户
提问于 2020-05-11 23:00:01
回答 1查看 163关注 0票数 0

我正在用Octave编写一个定点迭代脚本,需要检查该方法是否收敛。目前,我唯一想到的就是对g(x)在x0中求值的导数做一个非常基本的检查。

代码语言:javascript
复制
if (conv_x<=1)
  fprintf("\nThe method guarantees convergence:\n|g'(x0)| <= 1\n%d <= 1\n", conv_x)
else
  fprintf("\nThe method does not guarantee convergence:\n|g'(x0)| > 1\n%d > 1\n", conv_x) 
endif

尽管在某些情况下它确实收敛了,尽管它是不能保证的。示例(命令窗口):

代码语言:javascript
复制
The method does not guarantee convergence:
|g'(x0)| > 1
2.48318 > 1

 i       x_i             Ea              Er              Er%
0        1.000000
1        3.623970        0.292484        0.080708        8.07081%
2        3.277427        0.346543        0.105736        10.5736%
3        2.929255        0.348173        0.118860        11.886%
4        2.663926        0.265329        0.099601        9.96007%
5        2.531185        0.132741        0.052442        5.24424%
6        2.490991        0.040194        0.016136        1.61356%
7        2.482583        0.008408        0.003387        0.338681%
8        2.481053        0.001530        0.000617        0.0616501%
9        2.480784        0.000270        0.000109        0.0108692%
10       2.480736        0.000047        0.000019        0.00190502%
11       2.480728        0.000008        0.000003        0.000333541%
>>

有没有一种方法可以让程序读取结果,然后让它判断是否收敛?而不是在应用该方法之前只说是否保证收敛。

EN

回答 1

Stack Overflow用户

发布于 2020-05-12 00:18:16

解决方案最终变得非常简单。我做了一个向量,它存储了绝对误差的所有值。然后将第一个值与最后一个值进行比较,以检查该方法是否收敛。

代码语言:javascript
复制
err_v = [err_v, err_abs]

err_v在定点方法循环中,所以它存储每个值。

然后我将第一个值与最后一个值进行比较,如下所示:

我将第一个和最后一个值存储在单独的变量中:

代码语言:javascript
复制
err_v_i = err_v(1);
err_v_f = err_v(:,end);

最后,我只用if语句比较了这两个语句。

代码语言:javascript
复制
if(err_v_i > err_v_f)
  fprintf("\nMethod is converging\n")
else
  fprintf("\nMethod is NOT converging\n")
endif

这使得即使在|g'(x0)| >1的情况下也可以指出方法收敛的情况

谢谢Cris Luengo,你的第一个评论让我意识到这是多么简单。

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

https://stackoverflow.com/questions/61732795

复制
相关文章

相似问题

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