作业帮 > 综合 > 作业

关于mathematica的findroot的疑问

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/21 14:10:28
关于mathematica的findroot的疑问
我大致知道解的范围,使用findroot时候有个奇怪的现象,比如我之前知道某个变量的解范围在2066左右,我输入2066,findroot的结果是2119.7,但是我输入2067就不收敛了,这什么原因?我输入2119输出也是2119.7,另一个变量在改变初值的时候也是这样,总之我在附近试了一些数值,收敛的只有一组解.那是不是一定能保证这个解的正确性?但是为什么在解为2119的情况下输入2066能收敛,输入2067、2068甚至2100都不收敛?
这没什么好奇怪的……FindRoot默认是用牛顿法求解,2066可以收敛而2067不行,说明2067刚好跳到收敛域外面去了,仅此而已.
再问: 恩恩,我的意思是 为什么跟解更接近的时候反而会不收敛 这样答案的准确性能不能保证呢?
再问: 恩恩,我的意思是 为什么跟解更接近的时候反而会不收敛 这样答案的准确性能不能保证呢?
再答: 我觉得,只要在2066到2100之间,方程的曲线有一些比较奇怪的弯曲乃至间断的话,是不难导致牛顿法收敛失败的。