请选择 进入手机版 | 继续访问电脑版
爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 3882|回复: 6

[求助] Fortran(牛顿迭代法求数值解)的收敛速度判断

[复制链接]
回帖奖励 2 金钱 回复本帖可获得 2 金钱奖励! 每人限 1 次

新浪微博达人勋

发表于 2022-5-27 19:23:34 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
本帖最后由 气象炮泡 于 2022-5-27 19:27 编辑

题目如图我想要讨论收敛的速度,题目提示可以使用图片最后一行的公式来判断收敛速度,但是我不确定该怎么做?

大家可以给个想法吗?谢谢啦

我写的程序如下:
program newton
    implicit none
    real::x0=2,x
    integer::i=1
    do
        !牛顿迭代的迭代方程
        x=x0-(x0**3-2*x0-5)/(3*x0**2-2)
        !输出迭代结果和迭代次数
        write(*,*) x,i
        !达到经度后结束循环
        if(ABS(x-x0)<10.0**(-6)) exit
        x0=x
        i=i+1
    enddo
end



K3M9`E3$B03ON($JJ$@LLBL.png
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2022-5-31 11:47:41 | 显示全部楼层

回帖奖励 +2 金钱

感觉上,你在程序中保存一下每一步的x,然后就可以用公式计算出一系列值,但是图中的这个公式看起来缺了些符号,建议看看其他资料,比如这个http://xpzhang.me/teach/CM19_Fall/slide04.pdf 里面的收敛的定义
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-31 12:40:56 | 显示全部楼层
qqqin 发表于 2022-5-31 11:47
感觉上,你在程序中保存一下每一步的x,然后就可以用公式计算出一系列值,但是图中的这个公式看起来缺了些 ...


谢谢你的提醒,目前我还有疑问
根据图上,我如果想用p来表示收敛速度,必须得知道c,但是c无法得出。
1.png
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-5-31 13:42:47 | 显示全部楼层
气象炮泡 发表于 2022-5-31 12:40
谢谢你的提醒,目前我还有疑问
根据图上,我如果想用p来表示收敛速度,必须得知道c,但是c无法得出。

验证嘛,(个人理解)可以这样操作,牛顿迭代是2阶收敛,先令p=2,然后你求出一系列值,|x_{n+1} -x _n|/|x_n-x_{n-1}|^2,如果正确的话,应该会趋于常数,这里画个图,就比较直观了,然后就验证了。
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

 楼主| 发表于 2022-5-31 14:40:03 | 显示全部楼层
好,好,感谢您,太有用了
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2022-8-9 10:41:35 | 显示全部楼层

回帖奖励 +2 金钱

来学习了{:5_214:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

新浪微博达人勋

发表于 2023-5-28 13:46:51 | 显示全部楼层

回帖奖励 +2 金钱

{:5_275:}{:5_275:}
密码修改失败请联系微信:mofangbao
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表