Re: Ignorance
- To: MATHGROUP at yoda.ncsa.uiuc.edu
- Subject: Re: Ignorance
- From: don at kinghorn.chem.WSU.EDU (Don Kinghorn)
- Date: Sat, 27 Oct 90 13:40:37 PDT
Begin received message:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Dear mathgroupers,
I have a function defined like this:
MatrixB[x_List]:=Block[{tt={x},z,i,n,zoo},
n=x[[1]]/2;
zoo=x;
z=Table[0,{i,Length[x]}];z[[2]]++;
For[i=1,i<=n-x[[2]],i++,tt=AppendTo[tt,zoo=zoo+z]];tt
]
It is probably a bad example of Mathematica programming, but anyway it
does what I want: taking as input a vector it builds an appropriate matrix.
Now it would be interesting if it accepted as input a list of vectors,
giving as result the matrix of the matrices resulting from the analisys of
each element of the input. How must I modified my code? Thank you in
advance for your help.
Riccardo Rigon
(an absolute beginner)
RIGON at iveuncc.bitnet
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
It looks to me like your code could be greatly simplified as follows;
MatrixB[x_List]:=Table[x/. x[[2]]->x[[2]]+i, {i,0,Floor[ x[[1]]/2 - x[[2]] ]} ]
at least I think this is what you want.
In answer to your question, you can apply functions to lists by using Map.
For example;
Map[ MatrixB, { list1,list2,list3} ]
should do what you want.
I hope this helps. :-)
Don Kinghorn
Washing State University
Chemical Physics Dept.
don at kinghorn.chem.wsu.edu