Comment obtenir la dérivée d'une fonction dans MATLAB?

Dans la vraie vie, c'est le morceau de gâteau, mais comment vous obtenez un dérivé d'un carré ou au cube de la fonction dans matlab?

Par exemple, A*x^3 + B*x^2 + C*x + D sera 3*Ax^2 + 2*b*x + C

Je veux obtenir ce dans matlab, mais je ne peux pas comprendre comment 🙁

pour exemple, j'ai essayé ce code mais je reçois stupide résultat (peut-être que je suis le seul qui devrait être blâmé!):

>> x = [6 3 2 1]

x =

     6     3     2     1

>> xPrime = diff(x)

xPrime =

    -3    -1    -1

Normalement, il devrait donner [18 6 2] ??
Aussi, je voudrais savoir comment yo le faire pour une série de numéros. Par exemple je veux dérivés de chaque point de l'exemple ci-dessus pour n = linspace(0,10,1000)

mise à jour
bien sûr, je peux le faire manuellement, mais j'aimerais savoir comment le faire avec matlab.

Ce que je suis en train de faire maintenant est d'obtenir la tangente de l'exemple ci-dessus et que je fais comme ça et ça fonctionne:

x = linspace(0,10,1000);
y=A*x.^3+B*x.^2+C*x + D;
plot(x,y);
hold on;
slop=3*A.*(Location^2)+2*B.*Location+C;
b=(A.*Location.^3)+(B.*Location.^2)+(C.*Location)+D;
y2=slop*(x-Location)+b;
plot(x,y2,'--r');
legend('Graph of the function','Tangent Line');
hold off;

Ce que je veux dire est ce que je devrait utiliser à la place de la main calculé dérivés de cette ligne:

slop=3*A.*(Location^2)+2*B.*Location+C;

Merci!

Avez-vous essayé polyder(p) n'avez pas utilisé matlab en temps ne me souviens pas exactement mais je pense que cela fonctionne.
Avez-vous pris un coup d'oeil à la documentation de diff()? Les docs disent: "Y = diff(X) calcule les différences entre les éléments adjacents de X." Qui ne semble pas être ce que vous voulez qu'il fasse.

OriginalL'auteur Saeid Yazdani | 2012-03-20