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

MathGroup Archive 2008

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

Search the Archive

Re: Display[ ] renewed?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg90449] Re: Display[ ] renewed?
  • From: Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>
  • Date: Thu, 10 Jul 2008 06:32:00 -0400 (EDT)
  • Organization: Uni Leipzig
  • References: <g4v303$if1$1@smc.vnet.net> <g4vk92$9r3$1@smc.vnet.net> <g51ucq$6tu$1@smc.vnet.net>
  • Reply-to: kuska at informatik.uni-leipzig.de

Hi,

you original question was to add Print[]/CellPrint[] ..
to all statements in a Do[] loop.

and

Do[
  expr = Sin[i*x];
  CellPrint[expr];
  CellPrint[Plot[expr, {x, 0, Pi}]], {i, 1, 3}]

would do that. However if you wish to add the CellPrint[]/Print[]
function in general, you must use the Hold[] function to modify all
your statements without evaluating it.

Regards
   Jens

It would
AES wrote:
> In response to Jens-Peer Kuska <kuska at informatik.uni-leipzig.de>:
> 
> Thanks for suggestion -- but the situation is:  I have a simple expr 
> which, when evaluated by itself in its own cell, as a result of that 
> evaluation creates and displays a certain plot.
> 
> And all I'd like to do is stick that expr (or maybe a couple such 
> expr's) into a simple Do loop, and have that Do loop **do what M's 
> online documentation explicitly says a Do loop does!**, which is
> 
>        Do[expr,{i,Subscript[i, max]}]
>              evaluates expr with the variable i successively taking on
>             the values 1 through Subscript[i, max] (in steps of 1)
> 
> thereby creating and displaying imax plots, not just 1.
> 
> Does it really take "something like"
> 
>>   SetAttributes[DoPrint, HoldAll]
>>   
>>   DoPrint[body_, {i_, i1_, i2_}] := Module[{split},
>>      split = Hold[body] /. CompoundExpression -> List;
>>      split =
>>       Flatten[split //. {Hold[{a_, b___}] :> {Hold[a], Hold[b]} ,
>>          Hold[a_, b__] :> { Hold[a], Hold[b]}}];
>>      split = split /. Hold[a_] :> Hold[Print[a]];
>>      Do[
>>       ReleaseHold[split /. i -> ii], {ii, i1, i2}
>>       ]
>>      ]
> 
> (with 11 arcane Hold commands!!!) to make Do do what it says it does?
> 
> (It was better when Show[ ] actually showed things! -- even if you did 
> have to mess with an occasional DisplayFunction.)
> 


  • Prev by Date: Glitch in Exporting PDFs from Mathematica to Illustrator, one solution
  • Next by Date: What does FullForm[ ] actually do?
  • Previous by thread: Re: Display[ ] renewed?
  • Next by thread: Re: Extracting terms of a polynomial into a list and then