Differentiate a 5*5 symbolic matrix by a 5*1 symbolic vector
1 回表示 (過去 30 日間)
古いコメントを表示
Hi there,
Here I have a symbolic matrix A with a size of 5*5. The elements inside is composed of 5 symbolic variables , i.e., a,b,c,d,e. These 5 varibales together make a 5*1 vector q =[a;b;c;d;e].
During the computation in the project, I need to compute the differentation of A by q, i.e.,
.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/198995/image.png)
Is there any command can be used to realize that?
Thanks very much!
0 件のコメント
回答 (3 件)
Walter Roberson
2018 年 12 月 14 日
7 件のコメント
Walter Roberson
2018 年 12 月 20 日
dd = sym('d', [1 5]);
rng(0); P1 = randi([-2 2],5,5); P2 = randi([-2 2],5,5); P3 = randi([-2 2],5,5); P4 = randi([-2 2],5,5); P5 = randi([-2 2], 5,5);
A = dd(1).^P1 .* dd(2).^P2 .* dd(3).^P3 .* dd(4).^P4 .* dd(5).^P5;
%A is now 5 x 5 involving the 5 different varialbes that are stored in dd
G = arrayfun(@(f) gradient(f, dd), A, 'uniform', 0);
%G is now a 5 x 5 cell array, each entry of which is the gradient of
%the corresponding entry of A with respect to the 5 different variables in dd
%if you want five panes of 5 x 5, one plane for each variable in dd, then
planes = permute(reshape(cat(3,G{:}),5,5,5),[2 3 1]);
Tony Cheng
2018 年 12 月 14 日
5 件のコメント
madhan ravi
2018 年 12 月 14 日
Fine ,understood now , what would be your desired result (post the output that you expect from the example above)?
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!