用不动点法和牛顿迭代法求解函数根-Julia

对方程

不动点迭代法undefined原方程可转换为

由不动点迭代法得

牛顿迭代法undefined给定一个初始x0,做一条垂线与函数f(x)相交,得到的交点为(x0,y0),过该点在f(x)上作一条切线,得到该切线与x轴的交点为(x1, 0)。之后对(x1, 0)重复上述步骤,直到与x轴的交点的横坐标xn逐渐收敛到f(x)=0的根。也就是对于第i+1次迭代(i>=0),有下列等式

Julia代码如下

print("Input max iter times: ")
f=x->(x*x-3*x+2-exp(x))
g=x->(2*x-3-exp(x))
h=x->(x*x+2-exp(x))/3

n=parse(Int, readline())
t=n
x = -1
newton_x=-1
x1 = h(x)
newton_y=newton_x-f(newton_x)/g(newton_x)
println("不动点迭代法               牛顿迭代\n")
println("step$(0): $(x)                     step$(0):$(newton_y)")
while ((abs(x-x1)>=(1e-12))||(abs(newton_x-newton_y)>=(1e-12)))&&(n!=0)
	x = x1
    newton_x = newton_y
    println("step$(t-n): $(x1)     step$(t-n):$(newton_y)")
    x1 = h(x)
    newton_y=newton_x-f(newton_x)/g(newton_x)
	n-=1
end
println("step$(t-n): $(x1)     step$(t-n):$(newton_y)");

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据结构与算法

BZOJ1004: [HNOI2008]Cards(Burnside引理 背包dp)

  小春现在很清闲,面对书桌上的N张牌,他决定给每张染色,目前小春只有3种颜色:红色,蓝色,绿色.他询问Sun有 多少种染色方案,Sun很快就给出了答案.进一步...

883
来自专栏技术点滴

算法设计关于递归方程T(n)=aT(n/b)+f(n)之通用解法

算法设计关于递归方程T(n)=aT(n/b)+f(n)之通用解法 在算法设计中经常需要通过递归方程估计算法的时间复杂度T(n),本文针对形如T(n)=aT(n/...

2227
来自专栏数据结构与算法

清北集训Day1T3 LYK loves jumping(期望DP)

题目描述 LYK在玩一个魔法游戏,叫做跳跃魔法。 有n个点,每个点有两个属性hi和ti,表示初始高度,和下降高度。也就是说,它初始时高度为hi,一旦LYK踩在这...

2835
来自专栏华章科技

程序员必须知道的十大基础实用算法及其讲解

快速排序是由东尼·霍尔所发展的一种排序算法。在平均状况下,排序 n 个项目要Ο(nlogn) 次比较。在最坏状况下则需要Ο(n2) 次比较,但这种状况并不常见。...

892
来自专栏PPV课数据科学社区

数据挖掘知识脉络与资源整理(十)–箱线图

? ? 箱线图的简介 箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因形状如箱子而得名。在各种领域也经常...

3268
来自专栏Python小屋

Python编写的数字拼图游戏(含爬山算法人机对战功能)

数字拼图游戏与拼图游戏原理一致,把打乱了的数字或图片经移动,拼成给定的目标数字或图片,其中总有一个空的地方,让相邻(上下左右)的方块移动,直至达到目标。 游戏代...

4055
来自专栏数说工作室

【SAS Says】高级篇:IML(1)

开篇话: 前段时间数说君征原创稿,果真得到了不少牛人的赐稿,比如本文的作者Ansta,作为数说工作室的特约撰稿人,将会承担下“【SAS Says】高级篇” 的写...

3144
来自专栏菩提树下的杨过

“AS3.0高级动画编程”学习:第二章转向行为(下)

在上一篇里,我们学习了“自主角色”的一些基本行为:寻找(seek)、避开(flee)、到达(arrive)、追捕(pursue)、躲避(evade)、漫游(wa...

26610
来自专栏WD学习记录

牛客网 连续子数组的最大和

HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候...

842
来自专栏ml

由判断三一点是否在三角形内部而引发的思考.....

判断一个点是否在三角形里面(包括边界上),这个问题对于许多初学者来说,可谓是一头雾水,如何判断呢? 假如有四个点A(x0,y0),B(x1,y1),C(x2,y...

2948

扫码关注云+社区