Re: beginner plot function with parameter
- To: mathgroup at smc.vnet.net
- Subject: [mg74041] Re: beginner plot function with parameter
- From: Bill Rowe <readnewsciv at sbcglobal.net>
- Date: Wed, 7 Mar 2007 03:12:30 -0500 (EST)
On 3/6/07 at 5:30 AM, wei_li92 at hotmail.com (Wei Li) wrote: >I am using mathematica 5 to plot a function with some parameter, I >want to plot for example a simple parabolic function with positive >parameter s: >f[z_]:=(z/s)^2; Plot[f[z],{z,-s,s}]; This code cannot create a plot unless s has been previously set to a numeric value. That is doing: s=3; f[z_]:=(z/s)^2; Plot[f[z],{z,-s,s}]; Should generate a plot for you. Note, it is generally not a good idea to make the result of a function dependent on a global variable assigned elsewhere. Inevitably, particularly in large notebooks, this leads to unexpected results and can be quite time consuming to locate why those results occurred. A better way to write f that avoids this problem would be f[z_,s_]:=(x/s)^2 Or if you simply wanted to create several different plots you could do the following: f[s_]:= Block[{z}, Plot[(z/s)^2, {z, -s, s}]] With this definition you could easily generate a family of parabolas as follows: Show[ Block[{$DisplayFunction=Identity}, f/@Range[3]]]; -- To reply via email subtract one hundred and four