用二分法求方程式X3-X-1=0在区间【1,1.5】内的近似解 这题如何解啊

 我来答
介孤仪伦
2019-11-02 · TA获得超过3762个赞
知道大有可为答主
回答量:3111
采纳率:34%
帮助的人:224万
展开全部
#include
<stdio.h>
#include
<stdlib.h>
#include
<iostream.h>
#define
EPS
1e-6
#define
DELTA
1e-6
int
main()
{
float
x;
float
a,b;
float
f(float);
float
Bisection(float,float,float(*f)(float));
a=1;
b=1.5;
x=Bisection(a,b,f);
system("pause");
return
0;
}
/**********上main范畴**************/
float
Bisection(
float
a,float
b,float
(*f)(float)
)
{
float
c,fc,fa=f(a),fb=f(b);
int
n=1;
cout<<"二分次数\tc\tf(c)\n";
while(1)
{
if(
fa*fb>0
)
return
0;
c
=(a+b)/2,fc
=f(c);
if(
fabs(fc)
<
DELTA
)
break;
else
if
(fa*fc<0)
{
b=c;
fb=fc;
}
else
{
a=c;
fa=fc;
}
if(
b-a<
EPS
)
break;
cout<<'\t'<<n++<<'\t'<<c<<'\t'<<fc<<endl;
}
return
c;
}
float
f(float
x)
{
return
x*x*x-x-1;
//求解方程
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
logan_white
2010-07-26 · TA获得超过295个赞
知道小有建树答主
回答量:233
采纳率:0%
帮助的人:140万
展开全部
public class hello
{

/**
* @param args
*/
public static void main(String[] args)
{
float a=1f,b=1.5f,c=0f,d=0f,e=0.005f,f=0f;//e为精确度
do
{
c=(a+b)/2;
d=func(a)*func(b);
if(d<0)
b=c;
else
a=c;
}
while(Math.abs(a-b)<e||f==0);
System.out.println(c);
}
public static float func(float x)
{
return x*x*x-x-1;
}
}
你看看吧
Language: Java
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式