I am using Mathematica to produce code that can be pasted into Meep, an EM field simulator. I have a list of random numbers and a list of radii (all identical), and I need a very specific output. For example say the list of random reals is {0.1, -0.2, 0.4} and my radii are {0.8,0.8,0.8}. I need to output {0.1+0.8, -0.2+0.8, 0.4+0.8} and then put each element into a column of my table. Preferably the addition shouldn't be evaluated to {0.9,0.6,1.2}, although that's not essential.
Here's the code I'm using to generate my table:
R = ConstantArray[0.8, 3]
tolerance = RandomReal[{-0.006, 0.006}, 91]
{Print["(set! geometry-lattice (make lattice (size ", sx , " ", sy ,
" no-size)))"];,
table1 = Table[Print["(make cylinder (radius " , R, " ) "];, 3]}
The output I get is
(set! geometry-lattice (make lattice (size 1.842 1.59522 no-size)))
(make cylinder (radius {0.8,0.8,0.8} )
(make cylinder (radius {0.8,0.8,0.8} )
(make cylinder (radius {0.8,0.8,0.8} )
But ideally I need it to output
(set! geometry-lattice (make lattice (size 1.842 1.59522 no-size)))
(make cylinder (radius 0.1+0.8)
(make cylinder (radius -0.2+0.8)
(make cylinder (radius 0.4+0.8)
That would be in a scenario where the first element of the list 'tolerance' is 0.1, the second element of the list is -0.2 and the third is 0.4.
I've tried several approaches and got to a point where I could live with an output where e.g. the 0.1+0.8 is evaluated to 0.9, which is why I thought I would turn my single radius into a list with each element being that radius, add it to the tolerance outside of the table using just
R + tolerance
But then I can't find a way to put each successive element into successive rows of the table.
Apologies for a long and convoluted question, and thanks for any suggestions!