c语言解超越方程

来源:百度知道 编辑:UC知道 时间:2024/06/06 03:54:35
例如解超越方程:例如sinx+x=0

这种东西可以用逼近法,不过要知道解的大致范围。给你示范你上面的例子
解在【-1,2】之间吧
#include "stdio.h"
#include "math.h"
double fun(double x)
{
return sin(x)+x;
}
int main()
{
double low=-1,up=2,mid=(low+up)/2;
while(up-low>1e-6)
{
if(fun(mid)>0)up=mid;
else if(fun(mid)<0)low=mid;
else break;
mid=(low+up)/2;
}
printf("%.4lf\n",mid);
return 0;
}