
c++中如何求一个数的绝对值
#include<iostream>#include<cmath>#include<iomanip>usingnamespacestd;voidmain(){inti=0...
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
void main ()
{
int i=0,k=0;
double e=0.0001,a0=20,b0=1;
double e1=0.01,e2=0.01;
double x[9]={0.36,1.00,1.36,2.36,2.61,2.86,3.36,4.36,6.36};
double y[9]={4.01,9.33,11.54,15.68,16.38,16.99,17.69,19.22,20.29};
int a11=0,a12=0,a21=0,a22=0,c1=0,c2=0;
while(abs(e1)>=e||abs(e2)>=e)
{
for(k=0;k<=8;k++)
{
a11=a11+(1-exp(b0*x[k]))*(1-exp(b0*x[k]));
a12=a21=a12-a0*x[k] *exp(b0*x[k])*(1-exp(b0*x[k]));
a22=a22+ (a0*x[k] *exp(b0*x[k] ))* (a0*x[k] *exp(b0*x[k] ));
c1=c1+(y[k]-a0*(1-exp(b0*x[k])))*(1-exp(b0*x[k]));
c2=c2-(y[k]-a0*(1-exp(b0*x[k])))*a0*x[k]* exp(b0*x[k]);
e1= (c1*a22-c2*a12)/(a11*a22-a12*a21);
e2=(c2*a11-c1*a21)/ (a11*a22-a12*a21);
a0=a0+e1;
b0=b0+e2;
}
i++;
}
cout<<a0<<setw(10)<<b0;
}
我知道问题出在while那一行,主要是不知道怎么在C++中求一个数的绝对值?请高手帮忙,急急!!! 展开
#include <cmath>
#include <iomanip>
using namespace std;
void main ()
{
int i=0,k=0;
double e=0.0001,a0=20,b0=1;
double e1=0.01,e2=0.01;
double x[9]={0.36,1.00,1.36,2.36,2.61,2.86,3.36,4.36,6.36};
double y[9]={4.01,9.33,11.54,15.68,16.38,16.99,17.69,19.22,20.29};
int a11=0,a12=0,a21=0,a22=0,c1=0,c2=0;
while(abs(e1)>=e||abs(e2)>=e)
{
for(k=0;k<=8;k++)
{
a11=a11+(1-exp(b0*x[k]))*(1-exp(b0*x[k]));
a12=a21=a12-a0*x[k] *exp(b0*x[k])*(1-exp(b0*x[k]));
a22=a22+ (a0*x[k] *exp(b0*x[k] ))* (a0*x[k] *exp(b0*x[k] ));
c1=c1+(y[k]-a0*(1-exp(b0*x[k])))*(1-exp(b0*x[k]));
c2=c2-(y[k]-a0*(1-exp(b0*x[k])))*a0*x[k]* exp(b0*x[k]);
e1= (c1*a22-c2*a12)/(a11*a22-a12*a21);
e2=(c2*a11-c1*a21)/ (a11*a22-a12*a21);
a0=a0+e1;
b0=b0+e2;
}
i++;
}
cout<<a0<<setw(10)<<b0;
}
我知道问题出在while那一行,主要是不知道怎么在C++中求一个数的绝对值?请高手帮忙,急急!!! 展开
6个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询