Date: Jul 28, 2009 6:59 PM
Author: Andrea Asoni
Subject: derivatives, syms and fsolve

Hi,
I would like to define a function, take derivatives of this function and then solve the system of equations formed by putting these derivatives equal to zero. A simplified version of my problem is:
--------------------------------------------------
age =[12 13 14 15]; age=age';
sex =[1 1 0 0]; sex=sex';

syms a b;
lik= (a^2)*b.*age + (1/b).*sex

da=diff(lik,a); db=diff(lik,b)
D=[da; db]

x=[a b]
fun=@(x) D

init=[1 2]
fsolve(fun,init)
---------------------------------------------------

when I run this it gives me the error: "??? Conversion to double from sym is not possible."

I tried to add after "D=[da;db]" the line "D=double(D)" but it gives me another error "Error using ==> eval
Undefined function or variable 'a'."

I tried the function "double" in different places (on x, on D, on fun) but it always gives me an error message.

Anyone knows how to deal with this problem? How do I take derivatives and then solve the system?

Any help is very appreciated,
Andrea