我制作了一个根文件,以了解像这样的卡方值。
for(int j=0;j<101;j++){
offset = 0.2 + 0.01 * (double)j;
for(int k=0;k<101;k++){
invvel = 4.5 + 0.01 * (double)k;
chi2 = 0.0;
for (int i=0; i<nfile; i++){
chi2 += pow( mean[i] + l[i]*invvel - offset,2
) /
( pow( meanerr[i],2 ) ) ;
}
而且我想知道最小卡方值
if( minchi2 > chi2 ){
minchi2 = chi2;
minoffset = offset;
mininvvel = invvel;
然后我也想知道chi2 = minchi2 + 1时的偏移值。
所以我尝试过
double a = 0.0;
a = minchi2 + 1;
if(chi2==a && mininvvel==invvel){
cout << offset << endl;
}
但看不到偏移值
我应该怎么看偏移值?
P.S。我也想修复常量'invvel',所以我写了
if(chi2==a && mininvvel==invvel)
但是我不确定代码是否正常工作。