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

MathGroup Archive 2008

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

Search the Archive

Re: How to print TraditionalForm without evaluation

  • To: mathgroup at smc.vnet.net
  • Subject: [mg92620] Re: How to print TraditionalForm without evaluation
  • From: "David Park" <djmpark at comcast.net>
  • Date: Thu, 9 Oct 2008 06:32:24 -0400 (EDT)
  • References: <gci1sm$iv$1@smc.vnet.net>

The following is probably the most common answer you will receive. To 
simplify things I have taken the TraditionalForm outside the the Grid. I 
have also used the new Version 6 iterator construction that allows us to 
list the specific substitutions. (It might have been simpler to use ex[1], 
ex[2] etc., to specify the examples and then iterate on the integer range.) 
Since the Integrate is in a HoldForm, we have to use a rule to substitute 
the iterated values.

Grid[
  {(* Do not integrate the first row *)
   Table[HoldForm[Integrate[integrand, x]] /.
     integrand -> expr, {expr, {ex1, ex2}}],
   (* Integrate the second row *)
   Table[Integrate[expr, x], {expr, {ex1, ex2}}]}, Frame -> All,
  ItemStyle -> Directive[FontSize -> 18, Bold]] // TraditionalForm

With the Presentations package it is possible to use the command HoldOp, 
which holds an operation but evaluates the arguments. Then we could write 
the above more simply as:

Needs["Presentations`Master`"]

Grid[
  {(* Do not integrate this *)
   Table[Integrate[expr, x] //
     HoldOp[Integrate], {expr, {ex1, ex2}}],
   (* Integrate this *)
   Table[Integrate[expr, x], {expr, {ex1, ex2}}]}, Frame -> All,
  ItemStyle -> Directive[FontSize -> 18, Bold]] // TraditionalForm

Or if you use the Student's Integral part of Presentations you can write it 
even simpler using Integrate with a small 'i'.

Grid[
  {(* Do not integrate this *)
   Table[integrate[expr, x], {expr, {ex1, ex2}}],
   (* Integrate this *)
   Table[Integrate[expr, x], {expr, {ex1, ex2}}]},
  Frame -> All,
  ItemStyle -> Directive[FontSize -> 18, Bold]] // TraditionalForm

And if you want the students to actually practice doing integrals 
step-by-step using basic integration techniques and a BasicIntegralTable, 
such as students often work from, then the first integral could be done by 
the following commands:

integrate[ex1, x] // TraditionalForm
% // OperateIntegrand[Apart] // TraditionalForm
% // BreakoutIntegral // TraditionalForm
% // UseIntegralTable[BasicIntegralTable] // TraditionalForm

There are also commands: ChangeIntegralVariable, IntegrateByParts and 
Trigonometric Substitute. You can also do definite integrals and obtain 
intermediate limit bracket expressions. A student can bypass the Mathematica 
Integrate command altogether using integral tables, or at some point the 
student can hand the integral over to Mathematica's Integrate or NIntegrate 
command.


-- 
David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/


"Serych Jakub" <Serych at panska.cz> wrote in message 
news:gci1sm$iv$1 at smc.vnet.net...
>I want to write notebook which prints simple integration examples with
> results for the students.
> Something like:
>
> ex1 = (1 - 3*x^3 + 2*x^5)/(4*x^3);
> ex2 = (-5*x^(1/4) + (x^2)^(4/3))/x^(3/2);
>
> Grid[{
>  Table[
>   TraditionalForm[Integrate[Symbol["ex" <> ToString[nr]], x]], {nr, 1, 
> 2}],
> (* do not integrate this *)
>  Table[
>   TraditionalForm[Integrate[Symbol["ex" <> ToString[nr]], x]], {nr, 1, 
> 2}]},
> (* integrate this *)
> Frame -> All, ItemStyle -> Directive[FontSize -> 18, Bold]]
>
> (there will be much more examples ex3,ex4, etc.)
>
> This works nice, but I need to tell Mathematica not to Integrate in the 
> first
> row of the table - examples (only in the second one - results). Is there 
> any
> possibility to suppress the evaluation of the Integral in the first row of
> the grid and just print the symbol of Integral and the TraditionalForm of 
> the
> example behind it?
>
> May be this is a newbie kind of question, but I have spent lot of time on 
> it,
> and I cannot solve it.
>
> Thanks in advance for any help
>
> Jakub
> 



  • Prev by Date: Re: Finding the optimum by repeteadly zooming on the solution space
  • Next by Date: Math Formulas
  • Previous by thread: Re: How to print TraditionalForm without evaluation
  • Next by thread: Re: How to print TraditionalForm without evaluation