1:编写程序,用二分法求方程2x^3-4x^2+3x-6=0在[-10,10]之间的根,^符号表示乘幂,如x^3表示x的立方,使

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/08 06:17:48

1:编写程序,用二分法求方程2x^3-4x^2+3x-6=0在[-10,10]之间的根,^符号表示乘幂,如x^3表示x的立方,使
1:编写程序,用二分法求方程2x^3-4x^2+3x-6=0在[-10,10]之间的根,^符号表示乘幂,如x^3表示x的立方,使

1:编写程序,用二分法求方程2x^3-4x^2+3x-6=0在[-10,10]之间的根,^符号表示乘幂,如x^3表示x的立方,使
#include
#include
void main()
{double f(double x); /*对关于x的函数进行声明*/
void erfen(double a,double b,double h,double ep); /*对二分法的子程序进行声明*/
erfen(-10,10.0,0.100,0.00001); /*对二分法的子程序进行调用*/
}
double f(double x) /* 定义一个关于x的函数*/
{double y;
y=2*x*x*x-4*x*x+3*x-6; /*将函数值赋给y*/
return y;} /*返回函数值*/
void erfen(double a,double b,double h,double ep) /*定义二分法的子程序*/
{double x[10],a0,b0,c0,a1,b1; /*将得到的根存放在x[]中,定义区间的端点为浮点型变量*/
int k,i,j;
k=0; /*k为循环的控制变量*/
a0=a; /*将a赋给第一个区间的起点*/
while(a0{for(j=0;;j++) /*循环每执行一次,则向后移动一个区间,区间的长度为步长*/
{b0=a0+h; /*b0为第一个区间的末端*/
if(fabs(f(a0)){x[k]=a0; /*将a0的值放入数组x中*/
a0=b0; /*指向下一个区间*/
k++; /*x的地址指向下一个*/
break;} /* 跳出循环*/
if(fabs(f(b0)){a0=b0;
break;} /*如果b0的函数值小于给定精度,则跳出循环,指向下一个区间*/
if(f(a0)*f(b0)>0)
{a0=b0;
break;} /*如果a0与b0的函数值乘积大于0,则跳出循环,指向下一个区间*/
if(f(a0)*f(b0)<0)/*如果a0与b0的函数值乘积小于0,则该区间存在实根*/
{
a1=a0;b1=b0; /*使a1始终b1为区间的端点*/
for(i=0;;i++)
 { c0=(a1+b1)/2; /*使区间缩为一半*/
if(fabs(f(c0)){x[k]=c0;
a0=b0;
k++;
break;} /* 跳出循环,指向下一个区间*/
if(f(c0)*f(a1)>0)
a1=c0; /*c0不是根,使c0的值赋给左端点*/
else
b1=c0;} /*c0不是根,是c0的值赋给右端点*/
 break;} /* 跳出循环,指向下一个区间*/
}}
if(k!=0) /* k不等于0时,输出实根的值*/
for(i=0;i<=k-1;i++)
printf("%f,%f\n",x[i],f(x[i]));
else
printf("no root"); /*k等于0时,输出无实根*/
}

数学方面:
一般地,对于函数f(x),如果存在实数c,当x=c是f(c)=0,那么把x=c叫做函数f(x)的零点。
解方程即要求f(x)的所有零点。
先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],
现在假设f(a)<0,f(b)>0,a如果f[(a+b)/2]=0,该点就是零点,

全部展开

数学方面:
一般地,对于函数f(x),如果存在实数c,当x=c是f(c)=0,那么把x=c叫做函数f(x)的零点。
解方程即要求f(x)的所有零点。
先找到a、b,使f(a),f(b)异号,说明在区间(a,b)内一定有零点,然后求f[(a+b)/2],
现在假设f(a)<0,f(b)>0,a如果f[(a+b)/2]=0,该点就是零点,
如果f[(a+b)/2]<0,则在区间((a+b)/2,b)内有零点,按上述方法在求该区间中点的函数值,这样就可以不断接近零点
如果f[(a+b)/2]>0,同上
通过每次把f(x)的零点所在小区间收缩一半的方法,使区间的两个端点逐步迫近函数的零点,以求得零点的近似值,这种方法叫做二分法。
由于计算过程的具体运算复杂,但每一步的方式相同,所以可通过编写程序来运算。

收起

1:编写程序,用二分法求方程2x^3-4x^2+3x-6=0在[-10,10]之间的根,^符号表示乘幂,如x^3表示x的立方,使 编写程序,用二分法求一元二次方程4x2+3x-6=0在(-10,10)区间的根. 用c++编写程序:用二分法求方程x2-x-1=0的正根,要求准确到小数点后第一位. 编个C语言程序,用热二分法求方程x^3+4x-10=0 在区间[1,2]内的根(精确到0.00001) 用C语言编写程序 :输入一个在[0,1]范围内的小数,用二分法求√x的值. C程序实验:用二分法求下面方程2X^3-4X^2+3X-6=0的根,要求误差小于0.00001 设计一个C语言程序:用二分法求方程2x^3-4x^2+3x-6在(-10,10)内的根,用到循环语句 编写程序,用二分法求方程2x3-4x2+3x-6=0在(-10,10)之间的根.提示:用do-while语句实现.二分法的计算步骤:准备 计算f(x)在有根区间[a,b]端点处的值f(a),f(b)二分 计算f(x)在区间中点(a+b)/2处的值f[(a+ 用python二分法求平方根,这个程序为什么错了?要求:编写程序,输入一个在[0,1]范围内的小数x,用二分法求x的平方根.我写的程序是这样的:def main():x=input('x')n=0if x=0:guess=0.5if abs(x-guess**2)=0.0000001 MATLAB 用二分法计算方程2X+1=0的程序 C语言:用二分法求方程的根,求具体可用程序;用二分法求下面方程在(-10,10)之间的一个根.2x3 - 4x2 + 3x - 6 = 0输入:一个小于1的非负实数e,它的值表示所能允许的误差输出:一个实数,其值为求 帮忙写个程序,题目是:设计用二分法求方程x^3-x^4+4*x^2-1=0在区间(0,1)上的一个实根. 编个C语言程序,用二分法求方程x^3-x^4+4x^2-1=0 在区间[0,1]内的根(精确到0.01) 1.matlab 用二分法求方程 f(x)=x^3=10x-20在(1,2)内的根,精度0.001 .要求有作图程序.要求有作图程序. 这个程序是用二分法求方程X的4次方-3x+1在区间0.3到0.4的根,要求误差不超过0.2×10的负2次方越快越好呀! 编个C语言程序,用二分法求方程x^3+4x-10=0 在区间[1,2]内的根(精确到0.00001)并输出所用的二分次数 C语言用二分法求解的具体程序C语言二分法求方程实根,f(x)=x^6+5x^5+3x^4+x^3-7x^2+7x-20=0,根的区间是[-2,5]步长为h=0.2,误差不大于0.000001 给出具体的程序, 用二分法求方程(2x^3)-(4x^2)-3x+1=0的最大的根