List handling

*To*: mathgroup at smc.vnet.net*Subject*: [mg15136] List handling*From*: Jorge Zickermann <jzickermann at mail.EUnet.pt>*Date*: Wed, 16 Dec 1998 03:11:13 -0500*Organization*: Personal*Sender*: owner-wri-mathgroup at wolfram.com

Dear Sirs, The following program applies a function to all the possible combinations of 4 parameters (L,B,T,Cb). By selecting the results of that function, I want to know the combinations of the 4 parameters that pass a selection and the corresponding results to be selected. L = 182; B = 28.4 ; T = 11 ; Cb = 0.86; resultrange = 0.01; precision = 0.01; BlockVolume[L_,B_,T_]:= L*B*T CorrectedVolume[X_]:= Cb*X HullVolume[L_,B_,T_,Cb_]:= CorrectedVolume[BlockVolume[L,B,T]] data = Table[{L,B,T,Cb,HullVolume[L,B,T,Cb]},{L,L*(1-resultrange), L*(1+resultrange),precision*L},{B,B*(1-resultrange),B*(1+resultrange), precision*B},{T,T*(1-resultrange),T*(1+resultrange),precision*T},{Cb, Cb*(1-resultrange),Cb*(1+resultrange),precision*Cb}]; Dimensions[data] {3,3,3,3,5} qualify = Select[Flatten[data,3],48880<Last[#]<48900&] {{180.18,28.116,11.11,0.8686,48887.1},{180.18,28.4,11.,0.8686,48892.},{180.18, 28.4,11.11,0.86,48892.},{180.18,28.684,10.89,0.8686,48887.1},{180.18, 28.684,11.,0.86,48892.},{180.18,28.684,11.11,0.8514,48887.1},{182.,28.116, 11.,0.8686,48892.},{182.,28.116,11.11,0.86,48892.},{182.,28.4,10.89, 0.8686,48892.},{182.,28.4,11.,0.86,48896.8},{182.,28.4,11.11,0.8514, 48892.},{182.,28.684,10.89,0.86,48892.},{182.,28.684,11.,0.8514,48892.},{ 183.82,28.116,10.89,0.8686,48887.1},{183.82,28.116,11.,0.86,48892.},{ 183.82,28.116,11.11,0.8514,48887.1},{183.82,28.4,10.89,0.86,48892.},{ 183.82,28.4,11.,0.8514,48892.},{183.82,28.684,10.89,0.8514,48887.1}} Having selected those combinations, I want to apply another function only to these combinations because the others are not solutions to my problem. Here I have the list of lists that contains the 4 parameters that give, for each case, an accepted result (the 5th element). Now I want to add to each list a new result, function of some elements in that list, and apply this function simultaneously to all the approved combinations. Having done that, a new selection is to be made and a new function to be applied, etc. Eventually I want to end with a list of lists of the combinations of parameters, and successive results, that passed a series of tests. How can I get round to doing that? Thankyou in advance for your help. Jorge