Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

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 *)





  • Prev by Date: Re: Arbitrary vector
  • Next by Date: Re: Plot axis length and size ratio (TwoPlot revive)
  • Previous by thread: Re: A fast way to compare two vectors
  • Next by thread: Re: Manipulate for differences tables. Can I call as function?