📄 二分法-步长法.cpp
字号:
//*************************************
//程序功能:二分法-步长法 求线性方程的解
//作 者:杭永东
//日 期: 2002.03.25
//*************************************
#include <math.h>
#include <stdio.h>
double f(double x)
{
return (676039*pow(x,12)-1939938*pow(x,10)+2078505*pow(x,8)-1021020*pow(x,6)+225225*pow(x,4)-18018*x*x+231);
}
main()
{
double a=-1,b=1,h=0.01,a1,b1,mid,op;
a1=a;
b1=a1+h;
while(b1<b)
{
while(f(a1)*f(b1)>0)
{
a1=b1;
b1=a1+h;
}
op=b1;
while(fabs(b1-a1)>0.5e-10)
{
mid=0.5*(a1+b1);
if(f(a1)*f(mid)<0)
b1=mid;
else
a1=mid;
}
printf("x=%1.9f\n",mid);
a1=op;b1=a1+h;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -