目录
一、方程
非线性方程: f(x)=x^3-x-1
对应迭代法方程:x=𝑥−(𝑥^3−𝑥−1)/(3𝑥^2−1);(其中一种)
二、原理图

三、代码
#include <stdio.h>
#include <math.h>
//x^3-x-1=0
//对应迭代式x=x-(x^3-x-1)/(3*x^2-1)
double functions(double x)
{
return (x-(x*x*x-x-1)/(3*x*x-1));
}
double funs(double x,double y)
{
if(x-y<0)
return (y-x);
else
return (x-y);
}
int main()
{
int k;
double x0,x1,x2,N;
printf("input x0,N\n");
scanf("%lf%lf",&x0,&N);
x1=functions(x0);
for(k=0;k<N;k++)
{
x2=functions(x1);
printf("%d\t%.10f\n",k,x2);
if(x1==x2){
printf("The end result:%.10f\n",x2);
return 0;
}
x0=x1;
x1=x2;
}
if(k==N)
printf("error!!!\n");
return 0;
}
四、运行结果

本文介绍了一种解决非线性方程f(x)=x^3-x-1的方法,通过迭代公式x=x-(x^3-x-1)/(3*x^2-1)进行求解。提供了一个C语言实现的代码示例,展示如何编程计算并输出迭代过程,直到达到预设的精度要求或达到最大迭代次数。运行结果显示了每次迭代的数值变化。
1048

被折叠的 条评论
为什么被折叠?



