📄 弦截法求根.c
字号:
///////////////////////////////////////////////////////
// 弦截法求根 //
///////////////////////////////////////////////////////
#include "stdio.h"
#include "math.h"
#define f(x) (x*x*x-7.7*x*x+19.2*x-15.3)// f函数
#define x0 0.0
#define x1 1.0
#define MAXREPT 1000// 最大迭代次数
#define epsilon 0.00001//求解精度
void main()
{
int i;
double x_k=x0,x_k1=x1,x_k2=x1;
for(i=0;i<MAXREPT;i++)
{
printf("Got...%f\n",x_k2);
x_k2=x_k1-(f(x_k1)*(x_k1-x_k))/(f(x_k1)-f(x_k));//弦截求新x_n
if(fabs(x_k2-x_k1)<epsilon||fabs(f(x_k2))<epsilon)
{
printf("! Root: %f\n",x_k2);//满足精度输出
return;
}
x_k=x_k1;x_k1=x_k2;//反复
}
printf("After%d repeate,no solved.\n",MAXREPT);
}
//----------------END OF FILE---------------------
//用弦截法求方程f(x)=x*x*x-7.7*x*x+19.2*x-15.3的根
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -