MATLAB Answers

Symbolic Math Error using diff

5 views (last 30 days)
Carlas on 3 Nov 2013
Edited: Carlas on 3 Nov 2013
Hi All,
I was wondering why it is not possible to do the following
x = sym('x',[2 1]); A = sym('A',[2 2]);
ans = 0
Is there an alternative method to preform this differentiation?

  1 Comment

Carlas on 3 Nov 2013
gradient(x'*A*x,x) gives the requested result ans =
A1_1*x1 + A1_2*x2 + A1_1*conj(x1) + A2_1*conj(x2)
A2_1*x1 + A2_2*x2 + A1_2*conj(x1) + A2_2*conj(x2)
Does anyone know a way to get the result in matrix form again: (A+A')x

Sign in to comment.

Accepted Answer

sixwwwwww on 3 Nov 2013
Dear Carlas, you can try something like this:
x = sym('x%d',[2 1]);
A = sym('A%d%d',[2 2]);
x1 = diff(x' * A * x, x(1));
x2 = diff(x' * A * x, x(2));
I hope it helps. Good luck!


Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!