早教吧作业答案频道 -->其他-->
C++二分法//(17)分别用牛顿法和二分法求方程2x3-4x2+3x-6=0在x=1.5附近的实数根,精度ε=10-5#include#includeusingnamespacestd;doublehs(doublex){doubleresult;result=2*x*x*x-4*x*x+3*x-6;returnresult;}in
题目详情
C++二分法
//(17)分别用牛顿法和二分法求方程2x3-4x2+3x-6=0在x=1.5附近的实数根,精度ε=10-5
#include
#include
using namespace std;
double hs(double x)
{
double result;
result = 2 * x * x * x - 4 * x * x + 3 * x - 6;
return result;
}
int main()
{
double a,b,midx,midy;
double x1 = 1,x2 = 2.5;
do
{
a = hs(x1);
b = hs(x2);
midx = (x1 + x2) / 2;
midy = hs(midx);
if(midx > 0)
x2 = midx;
else
x1 = midx;
}while(fabs(midy) >= pow(10.,-5));
cout
//(17)分别用牛顿法和二分法求方程2x3-4x2+3x-6=0在x=1.5附近的实数根,精度ε=10-5
#include
#include
using namespace std;
double hs(double x)
{
double result;
result = 2 * x * x * x - 4 * x * x + 3 * x - 6;
return result;
}
int main()
{
double a,b,midx,midy;
double x1 = 1,x2 = 2.5;
do
{
a = hs(x1);
b = hs(x2);
midx = (x1 + x2) / 2;
midy = hs(midx);
if(midx > 0)
x2 = midx;
else
x1 = midx;
}while(fabs(midy) >= pow(10.,-5));
cout
▼优质解答
答案和解析
do 循环里的代码有误
if(midx > 0)
应当改为:if(hs(midx) > 0)
另外main()的return;语句前加cin.get();加这一句的目的是让程序运行到这里的时候暂停.
if(midx > 0)
应当改为:if(hs(midx) > 0)
另外main()的return;语句前加cin.get();加这一句的目的是让程序运行到这里的时候暂停.
看了 C++二分法//(17)分别...的网友还看了以下:
分解因式:(1)4a2b-6ab2+2ab(2)6(a-b)2-12(a-b)(3)x(x+y)2 2020-04-08 …
先化简,再求值 (1)[(x-y)的平方+(x+y)(x-y)]÷2x 其中X=2010,y=20 2020-05-16 …
已知3f(x)+2f(x)=x,求f(x)怎么算我自己算了一半因为3f(x)+2f(x)=x3f( 2020-06-03 …
用[x]表示不超过x的最大整数,记{x}=x-[x],其中x∈R,设f(x)=[x]•{x}.用[ 2020-06-04 …
设f(x)=ln10x,g(x)=x,h(x)=ex10,则当x充分大时有()A.g(x)<h(x 2020-06-18 …
导数乘法证明中h是什么意思?(f(x)g(x))'=lim(h→0)[f(x+h)g(x+h)-f 2020-07-22 …
已知函数f(x)=lnxa+x在x=1处的切线方程为2x-y+b=0.(Ⅰ)求实数a,b的值;(Ⅱ 2020-07-31 …
若函数f(x),g(x)的定义域都是R,则f(x)>g(x)(x∈R)的充要条件是?A.存在一个属 2020-08-02 …
求ln[(1+X)/(1-X)]的导数求ln[(1+X)/(1-X)]导数的思路和答案我知道lnx的 2020-10-31 …
我快死了……函数的一般表达式是什么?是不是y=f(x)(x∈A)?f是某个对应关系,那么这个f(x) 2020-11-01 …