MathGroup Archive 2011

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

Search the Archive

Re: Interesting problem looking for a solution.

  • To: mathgroup at
  • Subject: [mg122075] Re: Interesting problem looking for a solution.
  • From: "Oleksandr Rasputinov" <oleksandr_rasputinov at>
  • Date: Wed, 12 Oct 2011 03:43:23 -0400 (EDT)
  • Delivered-to:
  • References: <j6rk1f$1nr$> <>

I took it as read that if the function is to be randomly generated, as  
stated in the original post, then in the actual scenario under discussion  
there will not exist any cell that shows the explicit definition of f  
since it will have been arrived at algorithmically. The example given  
below is just that, and intended to only demonstrate the (possibly useful)  
behaviour of these attributes.

On Tue, 11 Oct 2011 09:23:03 +0100, Murray Eisenberg  
<murray at> wrote:

> I don't understand why that proposed solution would be satisfactory: the
> cell defining f is still there!
> On 10/10/11 4:25 AM, Oleksandr Rasputinov wrote:
>> On Sun, 09 Oct 2011 08:55:27 +0100, Church, Gary<churchg at>   
>> wrote:
>>> Hello,
>>> I have an (I think) interesting problem for you Mathematica gurus.
>>> I'm trying to create a worksheet for my students and want to be able to
>>> display the plot of a randomly generated function f[x], without them
>>> being able to access the expression which defines f; In other words, I
>>> don't want them to be able to evaluate f[x].
>>> The idea is that each student will get a different function f[x] and
>>> will see a different graph and they have to determine the expression
>>> which defines f. They then have to plot the function they think is f
>>> against the actual function f[x] and turn in the two plots (or the one
>>> plot with the two graphs.)
>>> Is this possible?
>>> Thanks much,
>>> Gary
>> Much easier than you probably think:
>> In[1] :=
>> f[x_?NumericQ] := Sin[7 x] + Cos[3 x];
>> SetAttributes[f, {ReadProtected, Locked}];
>> In[3] :=
>> Plot[f[x], {x, -Pi, Pi}]
>> Out[3] =
>> <  Plots normally>
>> In[4] :=
>> ??f
>> Prints:	Global`f
>> 	Attributes[f] = {Locked,ReadProtected}
>> In[5] :=
>> f[x]
>> Out[5]
>> f[x]
>> The key elements here are the restriction to numeric values of the
>> parameter and the ReadProtected and Locked attributes.

  • Prev by Date: Re: Interesting problem looking for a solution.
  • Next by Date: Re: Making a function out of repeated hyperbola integrations?
  • Previous by thread: Re: Interesting problem looking for a solution.
  • Next by thread: Re: Interesting problem looking for a solution.