double loop do
- To: mathgroup at smc.vnet.net
- Subject: [mg112858] double loop do
- From: maria giovanna dainotti <mariagiovannadainotti at yahoo.it>
- Date: Mon, 4 Oct 2010 06:04:10 -0400 (EDT)
Dear Mathgroup,
I have a problem with a double loop. Formally it doesn't give any error message but it doesn't let Om variate in the loop, it takes only the first value 0.1.
This is the code
ckms=299792.5HubE[z_,Om_]=(Om*(1+z)^3+(1-Om))^1/2dL[z_,Om_,h_]:=3.0856*1018*106*ckms/(100*h)*(1+z)*NIntegrate[1/HubE[xh=0.71TabOmegaM=Table[j,{j,0.0,1.0,0.01}]
LxOmegaM={};
Do[
Om=TabOmegaM[[j]];
DataGood={};
Do[
logTarest=DataGRB[[i,7]];
logTaErrrest=DataGRB[[i,8]];
Fx=DataGRB[[i,3]];
FxErr=DataGRB[[i,4]];
idGRB=DataGRB[[i,1]];
DataGRB[[i,2]];
class=DataGRB[[i,12]];
beta=DataGRB[[i,5]];
dbeta=DataGRB[[i,6]];
Lx=4*dLx=Lx*\[Sqrt]((FxErr/Fx)2+(Log[1+z])2*dbeta2);
logLx=Log[10,Lx];
dlogLx=dLx/(Lx*Log[10]);
If[\[Sqrt]((dlogLx)2+(logTaErrrest)2)<4 ,
AppendTo[DataGood,{logTarest,logTaErrrest,logLx,dlogLx,beta,dbeta,z,idGRB,class,Om}]],{i,1,Length[DataGRB]},{j,1,Length[TabOmegaM]}];
CLxTa=N[SpearmanRankCorrelation[DataGood[[All,1]],DataGood[[All,3]]]];
AppendTo[LxOmegaM,{CLxTa,logLx,Om,Length[DataGood]}],{j,1,Length[TabOmegaM]}]
Then I tried putting in Lx Om[[j]] to let Om variate, but in this case I got the following error message:Part::partd: Part specification 0.[[NIntegrate::inumr:
The integrand 1/[1/HubE[x,Om],{x,0,z},MaxRecursion ->100] has evaluated to
non-numerical values for all sampling points in the region with boundaries]{{0,1.29}}
I would be really very grateful if you could help me.
Cheers,
Maria