数值分析:用二分法求方程f(x)=x^3+4*(x^2)-10在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的程序如下:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){if(b-a>=
来源:学生作业帮助网 编辑:作业帮 时间:2024/11/15 05:44:33
数值分析:用二分法求方程f(x)=x^3+4*(x^2)-10在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的程序如下:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){if(b-a>=
数值分析:用二分法求方程f(x)=x^3+4*(x^2)-10在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.
我的程序如下:
#include
float f(float x)
{
\x05return x*x*x+4*x*x-10;
}
void main()
{
float a,b,c;
a=1.0;
b=1.5;
for(;;)
{
if(b-a>=0.005)
\x05{
\x05c=(a+b)/2;
\x05if(f(a)*f(c)==0)
\x05\x05break;
\x05else if(f(a)*f(c)0)
\x05\x05a=c;
\x05}
\x05else
\x05\x05break;
}
printf("二分结果为%f\n",c);
printf("保留三位有效数字为%0.2f\n",c);
}
我想知道我的程序是否正确,如果正确的话那么那个跳出循环的判断为何是if(b-a>=0.005),为何不是if(b-a>=0.01),或者它有固定的算法,下面是我的程序运行结果图,
数值分析:用二分法求方程f(x)=x^3+4*(x^2)-10在区间[1,1.5]上的根,要求求出具有3位有效数的近似根.我的程序如下:#includefloat f(float x){\x05return x*x*x+4*x*x-10;}void main(){float a,b,c;a=1.0;b=1.5;for(;;){if(b-a>=
你的程序我感觉是对的,我没有运行看看啊
你那个if判断,牵扯到数学问题,不在程序中讨论,其实那个都可以跳出循环,只是精度问题
就是感觉的你的算法也就是程序思路不怎么好
for(;b-a>=0.005;)
{
c=(a+b)/2;
if(f(c)==0)
break;
if(f(a)*f(c)>0)
a=c;
else
b=c;
}