c语言 迭代法

c语言 迭代法,第1张

迭代法,是一种不断用变量的旧值递推新值的过程。

fun函数设置循环,当x0-x1的绝对值小于0.000001循环结束。

#include

<stdio.h>

#include

<math.h>

float

fun()

{float

x,n=0.0,root

while(root>=0.000001||root<=-0.000001)

{

x=n

n=cos(x)

root=x-n

}

root=n

return

root

}

void

main()

{

float

f=fun()

printf("root=%f\n",f)

}

while 和do while是不同地

第二个改成

#include <math.h>

#include <stdio.h>

main()

{float x,t,c

int a

scanf("%d",&a)

x=1

t=xx=(1.0/2)*(x+a/x)c=x-t

while(fabs(c)/x>1e-5)

{

t=xx=(1.0/2)*(x+a/x)c=x-t

}

printf("%f",x)

getch()

}

才会等价于第一个程序

main()

{double

x1,x2

x1=0.0

x2=cos(x1)

while(fabs(x2-x1)>le-6)//当误差大于10的负六次方循环。

{x1=x2

x2=cos(x1)

}

printf("x=%f\n",x2)

}

牛顿迭代法,是用于求方程或方程组近似根的一种常用的算法设计方法。设方程为f(x)=0,用某种数学方法导出等价的形式

x(n+1)

=

g(x(n))

=

x(n)–f(x(n))/f‘(x(n)).然后按以下步骤执行:

(1)

选一个方程的近似根,赋给变量x1

(2)

将x0的值保存于变量x1,然后计算g(x1),并将结果存于变量x0

(3)

当x0与x1的差的绝对值还小于指定的精度要求时,重复步骤(2)的计算。

若方程有根,并且用上述方法计算出来的近似根序列收敛,则按上述方法求得的x0就

认为是方程的根。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/7942490.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-11
下一篇 2023-04-11

发表评论

登录后才能评论

评论列表(0条)

保存