for cicle inside an If condition
- To: mathgroup at smc.vnet.net
- Subject: [mg118463] for cicle inside an If condition
- From: maria giovanna dainotti <mariagiovannadainotti at yahoo.it>
- Date: Fri, 29 Apr 2011 07:30:01 -0400 (EDT)
Dear Mathematica Group, I am trying to figure out the following Problem: In the loop below I have to choose only 4 values of z the first one should vary from the table DataGRB[[i,2]] while the other ones are fixed, namely ||z==4.05||z==5.2||z==8.26 . The problem is that Writing in this way as below I will have all the value of DataGRB[[i,2]]<4 instead I would like to pick only one value per time in order that I should have the computation for the Lx for all the possible different four values of z, namely each z[[i]]<4.05 and the three mentioned value of z. DataGoodclosed={}; Do[ logTarest=DataGRB[[i,7]]; logTaErrrest=DataGRB[[i,8]]; Fx=DataGRB[[i,3]]; FxErr=DataGRB[[i,4]]; idGRB=DataGRB[[i,1]]; z=DataGRB[[i,2]]; class=DataGRB[[i,12]]; beta=DataGRB[[i,5]]; dbeta=DataGRB[[i,6]]; If[class==33 && (z==DataGRB[[i,2]]<4 ||z==4.05||z==5.2||z==8.26), Lx=4*p*dLclosed[z,Om,Ol,h]2*(1+z)-(1+beta)*Fx; logLx=Log[10,Lx]; AppendTo[DataGoodclosed,{logTarest,logLx,z,idGRB,Om,Ol}]], {i,1,Length[DataGRB]}]; I thought about a for loop or a select, but when I introduce in the loop for example this one: For[i=1,i<=78,i++, {Select[z[[i]],#<4&]}] It gives the following error message:Select::normal: Nonatomic expression expected at position 1 in Select z= "1.29" I would be very grateful if you could help me. Thanks a lot in advance, Cheers Maria