Manipulate for differences tables. Can I call as function?
- To: mathgroup at smc.vnet.net
- Subject: [mg121645] Manipulate for differences tables. Can I call as function?
- From: "Christopher O. Young" <cy56 at comcast.net>
- Date: Sat, 24 Sep 2011 22:30:56 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
I'd like to be able to use this Manipulate expression, which works fine on its own, as a function that I can pass a list of integers to. The following isn't allowed. Any hints on how to go about doing this? diffTablePlot[intList_] = Manipulate[ Column[{ Column[ Table[ Grid[ {Differences[list, i]}, ItemSize -> {w, h} ], {i, 0, n} ], Alignment -> alignment ], (* Column *) ListLinePlot[ Table[ Table[ With[ {offset = If[alignment == "Left", 0, j 0.5]}, {startX + offset + (i - 1), Differences[list, j][[i]] } ], {i, 1, Length[Differences[list, j]]} ], {j, 0, n} ], PlotMarkers -> Graphics[{PointSize[Medium], Point[{0, 0}]}], PlotStyle -> Table[Hue[0.85 k/n], {k, 0, n}], PlotRange -> {{startX, startX + Length[list] - 1}, {Min[list], Max[list]}}, GridLines -> {Range[startX, startX + Length[list]], Range[Min[list], Max[list]]}, AspectRatio -> (Max[list] - Min[list])/Length[list], Frame -> True, GridLinesStyle -> Directive[Gray, Dotted] ] (* Column *) }],(* Column *) "Finite difference table for a list of numbers", {list, InputField}, {alignment, {"Left", "Center"}}, {{startX, 1, "Start x"}, -10, 10, 1}, {{n, 4}, 1, Length[list] - 1, 1}, (* Number of rows of differences *) {{w, 3}, 0, 4}, (* width and height of each item *) {{h, 1}, 0, 4}, With[{userList = intList}, Initialization :> (list = If[userList != "", userList, Table[2^k, {k, -4, 4}] ]) ] ] (* Manipulate *)