用二分法求方程式X3-X-1=0在区间【1,1.5】内的近似解 这题如何解啊
7个回答
展开全部
#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;
//求解方程
}
<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;
//求解方程
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
{
/**
* @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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |