求x^3-15x^2+16x-80一个实根,下面程序怎么算不出来
来源:学生作业帮 编辑:搜狗做题网作业帮 分类:综合作业 时间:2024/05/08 03:18:51
求x^3-15x^2+16x-80一个实根,下面程序怎么算不出来
#include
#include
float f(float x)
{
return ((x-5)*x-16)*x-80;
}
float xpoint(float x1,float x2)
{
return (x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
}
float root(float x1,float x2)
{
float x,y,y1;
y1=f(x1);
do
{
x=xpoint(x1,x2);
y=f(x);
if(y*y1>0)
{
y1=y;x1=x;
}
else
{x2=x;}
}while(fabs(y)>0.00001);
return x;
}
void main()
{
float x,x1,x2,y1,y2;
do
{
scanf("%f,%f",&x1,&x2);
y1=f(x1);
y2=f(x2);
}while(y1*y2>0);
x=root(x1,x2);
printf("A root is %f\n",x);
getch();
}
是我最上面的函数表达式写错啦,本来应该是“-”号,所以程序里面的函数应该是对的,你看看如果按照“-”号来做我的程序又不有问题,要是没有的话你看看最后结果是多少,我需要结果!
#include
#include
float f(float x)
{
return ((x-5)*x-16)*x-80;
}
float xpoint(float x1,float x2)
{
return (x1*f(x2)-x2*f(x1))/(f(x2)-f(x1));
}
float root(float x1,float x2)
{
float x,y,y1;
y1=f(x1);
do
{
x=xpoint(x1,x2);
y=f(x);
if(y*y1>0)
{
y1=y;x1=x;
}
else
{x2=x;}
}while(fabs(y)>0.00001);
return x;
}
void main()
{
float x,x1,x2,y1,y2;
do
{
scanf("%f,%f",&x1,&x2);
y1=f(x1);
y2=f(x2);
}while(y1*y2>0);
x=root(x1,x2);
printf("A root is %f\n",x);
getch();
}
是我最上面的函数表达式写错啦,本来应该是“-”号,所以程序里面的函数应该是对的,你看看如果按照“-”号来做我的程序又不有问题,要是没有的话你看看最后结果是多少,我需要结果!
你的f函数的表达式写错了.应该是:
float f(float x)
{
return ((x-15)*x+16)*x-80;
}
我要是没有看错的话,你应该用的是牛顿弦切法吧?
如果是这样的话:x^3-15x^2+16x-80=0 那么,
X1=14.2716697265195
X2=0.364165136740241+2.3394218598286*i
X3=0.364165136740241-2.3394218598286*i
如果是这样的话:x^3-15x^2-16x-80=0 那么,
X1=16.2842317770781
X2=-0.64211588853906+2.12141818110309*i
X3=-0.64211588853906-2.12141818110309*i
如果是这样的话:x^3-5x^2+16x-80=0 那么,
X1=5
X2=4*i
X3=-4*i
如果是这样的话:x^3-5x^2-16x-80=0 那么,
X1=8.16146306754548
X2=-1.58073153377274+2.70248994139071*i
X3=-1.58073153377274-2.70248994139071*i
float f(float x)
{
return ((x-15)*x+16)*x-80;
}
我要是没有看错的话,你应该用的是牛顿弦切法吧?
如果是这样的话:x^3-15x^2+16x-80=0 那么,
X1=14.2716697265195
X2=0.364165136740241+2.3394218598286*i
X3=0.364165136740241-2.3394218598286*i
如果是这样的话:x^3-15x^2-16x-80=0 那么,
X1=16.2842317770781
X2=-0.64211588853906+2.12141818110309*i
X3=-0.64211588853906-2.12141818110309*i
如果是这样的话:x^3-5x^2+16x-80=0 那么,
X1=5
X2=4*i
X3=-4*i
如果是这样的话:x^3-5x^2-16x-80=0 那么,
X1=8.16146306754548
X2=-1.58073153377274+2.70248994139071*i
X3=-1.58073153377274-2.70248994139071*i
用java编写一个用迭代法求方程x*x*x-5*x*x+16*x-80=0的实根,误差小于10-6的程序.
帮忙写个程序,题目是:设计用二分法求方程x^3-x^4+4*x^2-1=0在区间(0,1)上的一个实根.
急需MATLAB二分法求方程求求方程f(x)=x^3-sin(x)-12*x+1的全部实根,ε=10^-6程序
一个数学题目,忽然想不出来了.2-X的绝对值小于1 怎么算
求关于x的方程x^2-ax+1=0,x^2+(a-1)x+16=0,x^2-2ax+3a-1=0中至少一个方程有实根的充
X+Y= - 20 ,X-Y=80,求X和Y的值,要求用JAVA程序计算出来 .
谁教我怎么解方程啊?用牛顿迭代法求下面方程的1.5附近的根.2*x*x*x-4*x*x+3*x-6 这个方程的值不就是x
怎么求X的二次方程是否有实根?
编写程序:输入一个正整数x和一个正整数n,求下列算式的值.x-x²/2!+x³/3!-x^4/4!+
编写程序,用牛顿切线法求方程f(x)= x^2-x-8=0(其中^表示 幂运算)在区间[3,4]上的近似实根r,迭代初
VB编写程序,用牛顿切线法求方程f(x)= x^2-x-8=0(其中^表示 幂运算)在区间[3,4]上的近似实根r,迭代
编写程序,用牛顿切线法求方程f(x)=x^3+2x+10=0的近似实根r,迭代初值为-1,精确到0.0001.