c语言迭代函数写法 c++函数迭代

C语言迭代法?

迭代法就是让方程的解不断去逼近真实的解。这是一种数值计算方法。思路就是按上面的步骤,只设置两个x0,x1开始x0代表第一个值,x1代表第二值第一次迭代之后,让x0=x1,x1=新的值,这样x0代表第二个值,x1代表第三值以此类推。。。直到误差满足要求

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:申请域名虚拟主机、营销软件、网站建设、滨海新区网站维护、网站推广。

C语言程序设计 迭代法

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就

认为是方程的根。

C语言迭代法编程

#include stdio.h

#include math.h

#define N 100

float f (float x,float y,float z)

{

if((1-x/y)0)

z=x/y-1;

else

z=1-x/y;

return z;

}

void main()

{

float a[N],b[N],c[N],d[N];

float m,n,p,s;

float z;

int i=0;

printf("please input data:\n");

scanf("%f,%f,%f,%f",m,n,p,s);

a[0]=m;

b[0]=n;

c[0]=p;

d[0]=s;

do{

a[i+1]=(40+30+b[i]+c[i])/4;

b[i+1]=(20+30+a[i+1]+d[i])/4;

c[i+1]=(10+15+a[i+1]+d[i])/4;

d[i+1]=(10+5+c[i+1]+b[i+1])/4;

i++;

}while(f(a[i+1],a[i],z)0.000001f(b[i+1],b[i],z)0.000001

f(c[i+1],c[i],z)0.000001f(d[i+1],d[i],z)0.000001);

printf("a[i]=%9.6f,b[i]=%9.6f,c[i]=%9.6f,d[i]=%9.6f",a[i],b[i],c[i],d[i]);

}

首先你的if关键词打错了,但这是小事。最重要的是你在最后一行不能加取地址符“”。我这个能达到你的要求。

c语言牛顿迭代法

把两个子函数都写主函数里头吧!你这样写a、b、c、d都没有传参,害我找了半天。

#includestdio.h

#includemath.h

int

a,b,c,d;

//a、b、c、d为系数

void

main()

{

int

k=0;

//计数变量

float

X0,X1,f,f1;

int

a,b,c,d;

printf("提示:函数f(x)=a*x^3+b*x^2+c*x+d\n");

printf("请输入系数:a,b,c,d的值:\n");

scanf("%d%d%d%d",a,b,c,d);

printf("请输入初始近似值X0:\n");

scanf("%f",X1);

printf("---------------\n");

printf("敛散情况:\n");

printf("k:\tXk:\n");

printf("k=%d\tX%d=%f\n",k,k,X1);

do

{

k++;

X0=X1;

f=((a*X0+b)*X0+c)*X0+d;

f1=(3*a*X0+2*b)*X0+c;

X1=X0-f/f1;

printf("k=%d\tX%d=%f\n",k,k,X1);

}

while(fabs(X1-X0)

=0.00001);

printf("--------------------------\n");

printf("迭代的次数为:%d\n",k);

}

c语言 迭代法

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

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);

}

C语言迭代法

while 和do while是不同地

第二个改成

#include math.h

#include stdio.h

main()

{float x,t,c;

int a;

scanf("%d",a);

x=1;

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

while(fabs(c)/x1e-5)

{

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

}

printf("%f",x);

getch();

}

才会等价于第一个程序


本文标题:c语言迭代函数写法 c++函数迭代
网页链接:http://scyanting.com/article/hjipgg.html