Re: loop for with plot
- To: mathgroup at smc.vnet.net
- Subject: [mg110042] Re: loop for with plot
- From: Helen Read <hpr at together.net>
- Date: Sun, 30 May 2010 23:44:42 -0400 (EDT)
- References: <httfog$sds$1@smc.vnet.net>
- Reply-to: HPR <read at math.uvm.edu>
On 5/30/2010 6:47 AM, maria giovanna dainotti wrote:
> Dear Mathgroup,
>
> when I am using the loop for with plot is not working.
>
> here is the example
> R1=1.029
> R2=3
> R3=6
> e1=27
> e2=0
> e3=2.5
> For[e3=0,e3<4,e3++,Plot[{2*R3*Sin[ArcCos[x/R3]]*e3}, {x, -2R3,2 R3}]]
> How can I sort out the problem?
> Best regards
> Maria
For (and similarly Do) by default returns Null as output. If you want to
see the plot at each iteration in the loop, you need to explicitly print
it, like this.
For[e3 = 0, e3 < 4, e3++,
Print[Plot[2*R3*Sin[ArcCos[x/R3]]*e3, {x, -2 R3, 2 R3}]]]
That said, it would be much easier to simply make a table. Also, it is
good practice to begin names of variables and functions with lower case
letters, to avoid inadvertent conflicts with built-in functions and
symbols. And lastly, if you intend to vary your parameters, it is worth
learning to define functions in Mathematica, so that your variables are
actually variables, instead of redefining constants each time you want
to make a change.
I would do something like the following. (I've renamed your R3 and e3 as
a and b respectively.)
f[x_, a_, b_] := 2 a b Sin[ArcCos[x/a]]
Now make a table of plots, for b from 1 to 4, with a=6.
Table[Plot[f[x, 6, b], {x, -10, 10}], {b, 1, 4}]
Or make a plot of a table of functions, if you'd like them all together.
Plot[Table[f[x, 6, b], {b, 1, 4}], {x, -10, 10}]
Now try varying a. I'll label each plot with the value of a.
Table[Plot[Table[f[x, a, b], {b, 1, 4}], {x, -10, 10},
PlotLabel -> a], {a, 1,5}]
Table[Plot[Table[f[x, a, b], {b, 1, 4}], {x, -10, 10},
PlotLabel -> a], {a, 2, 10, 2}]
--
Helen Read
University of Vermont