Re: Interesting problem looking for a solution.
- To: mathgroup at smc.vnet.net
- Subject: [mg122028] Re: Interesting problem looking for a solution.
- From: "Oleksandr Rasputinov" <oleksandr_rasputinov at hmamail.com>
- Date: Mon, 10 Oct 2011 04:25:36 -0400 (EDT)
- Delivered-to: l-mathgroup@mail-archive0.wolfram.com
- References: <j6rk1f$1nr$1@smc.vnet.net>
On Sun, 09 Oct 2011 08:55:27 +0100, Church, Gary <churchg at smccd.edu> 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.
- Follow-Ups:
- Re: Interesting problem looking for a solution.
- From: "Oleksandr Rasputinov" <oleksandr_rasputinov@hmamail.com>
- Re: Interesting problem looking for a solution.
- From: Murray Eisenberg <murray@math.umass.edu>
- Re: Interesting problem looking for a solution.