Re: How to plot functions
- To: mathgroup at smc.vnet.net
- Subject: [mg130118] Re: How to plot functions
- From: Bill Rowe <readnews at sbcglobal.net>
- Date: Sun, 10 Mar 2013 17:08:12 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- Delivered-to: l-mathgroup@wolfram.com
- Delivered-to: mathgroup-newout@smc.vnet.net
- Delivered-to: mathgroup-newsend@smc.vnet.net
On 3/10/13 at 12:48 AM, radressss at gmail.com (radres) wrote: >Let's say I've defined a function f[c]=c*x^2 >when I try to plot this directly, >Plot[ f[3], {x, -10, 10} ] >it doesn't plot anything. Right. Define f as follows: f[c_]:= c*x^2 There are two key points. First, I've used SetDelayed (:=) rather than Set (=). This results in the function f being evaluated when it is used by Plot, not before. Using Set causes f to be evaluated when it is defined. That is usually not the behavior you want for a function. Second, and more important, I've used c_ not c as the argument for f. The pattern c_ matches anything and gives it a local name of c. So, call f with a numeric value, Mathematica replaces the c on the right hand side with the values supplied. Without the blank(_) portion and with Set, you have defined f for the symbol c, not anything else. That is f[3] is undefined resulting in no plot being displayed. Notice, the difference between In[7]:= f[c] = c*x^2; f[3] Out[7]= f[3] and In[8]:= g[c_] = c*x^2; g[3] Out[8]= 3*x^2