Substituting values into differentiated function



Hi,

I'm trying to reproduce the steps from this paper:
http://www.doc.gold.ac.uk/~mas02mb/sdp/download/Myatt2004Convergence.pdf

I can do the first few steps:

1) Define the function "g".
g(c,a,b) := ((1-a)/a)*c+(1-b)*(1-(c/a));

2) Define the function "f".
f(c,a,b) := a*(c+ g(c,a,b)*c);

3) Differentiate f with respect to c
fWRTc(c,a,b) := diff(f(c,a,b),c);

I'm not confident my syntax in step 3) is correct. If I type
"fWRTc(0.1,0.8,0.1);" I get this error:
> diff: second argument must be a variable; found 0.1
> #0: fWRTc(c=0.1,a=0.8,b=0.1)"

I think it's because it's substituting c=0.1 in diff(f(c,a,b),c) and
so it's trying to differentiate with respect to 0.1.

My problems are:
1) Displaying the result of diff(f(c,a,b),c) as a*(2-b) - 2*c*(a-b)
2) The syntax for calculating a when c=0 and fWRTc(c,a,b) = 1.

In the linked paper they show that a = 1/(2-b) when df/dc = 1 and c = 0.

Can you help me find the correct functions to display these results?

Thank you,

Andrew

-- 
Andrew Owen Martin
PhD Cand. at Goldsmiths, University of London (ma901am)
Investigating Enactivism with Sensory Substitution
M: 07901 65 35 28
http://aomartin.co.uk