MATLAB: Numerical derivation of function

MATLABnumerical differentiation

how to derivate this function in matlab :
func = q*sin(phi)+r*cos(teta)
where q , r , teta ,phi are functions , how to find the derivative expression like this :
deriv_func =qdot*sin(phi)+phidot*cos(phi)*q +rdot*cos(teta)-tetadot*sin(teta)*r

Best Answer

You cannot do that numerically. Numeric differentiation can never return a symbolic result.
With the symbolic toolbox, you would do something like,
syms q(t) r(t) phi(t) teta(t)
func = q*sin(phi)+r*cos(teta)
diff(func, t)
to get
cos(teta(t))*diff(r(t), t) + sin(phi(t))*diff(q(t), t) + cos(phi(t))*q(t)*diff(phi(t), t) - sin(teta(t))*r(t)*diff(teta(t), t)
You indicated that q r phi teta were functions, but you did not indicate what they were functions of, so I assumed they were all functions of t.