About partial derivative using Matlab

조회 수: 15 (최근 30일)
autshy
autshy 2013년 7월 31일
I want to get the partial derivative of a complex function, so I used Matlab and writed the following codes:
syms x1 x2 x3 x4 x5 x6 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 x20
y(1)=exp(-(u(1)-x1).^2/(2*x2^2));
y(2)=exp(-(u(1)-x3).^2/(2*x4^2));
y(3)=exp(-(u(1)-x5).^2/(2*x6^2));
y(4)=exp(-(u(1)-x7).^2/(2*x8^2));
y(5)=exp(-(u(1)-x9).^2/(2*x10^2));
y(6)=exp(-(u(2)-x11).^2/(2*x12^2));
y(7)=exp(-(u(2)-x13).^2/(2*x14^2));
y(8)=exp(-(u(2)-x15).^2/(2*x16^2));
y(9)=exp(-(u(2)-x17).^2/(2*x18^2));
y(10)=exp(-(u(2)-x19).^2/(2*x20^2));
z(1)=y(1)*y(6);z(2)=y(1)*y(7);z(3)=y(1)*y(8);z(4)=y(1)*y(9);z(5)=y(1)*y(10);
z(6)=y(2)*y(6);z(7)=y(2)*y(7);z(8)=y(2)*y(8);z(9)=y(2)*y(9);z(10)=y(2)*y(10);
z(11)=y(3)*y(6);z(12)=y(3)*y(7);z(13)=y(3)*y(8);z(14)=y(3)*y(9);z(15)=y(3)*y(10);
z(16)=y(4)*y(6);z(17)=y(4)*y(7);z(18)=y(4)*y(8);z(19)=y(4)*y(9);z(20)=y(4)*y(10);
z(21)=y(5)*y(6);z(22)=y(5)*y(7);z(23)=y(5)*y(8);z(24)=y(5)*y(9);z(25)=y(5)*y(10);
m=(2*z(16)+2*z(21)+2*z(22)+z(11)+z(17)+z(23)+z(24)-z(3)-z(9)-2*z(4)-2*z(5)-2*z(10))/(z(1)+z(2)+z(3)+z(4)+z(5)+z(6)+z(7)+z(8)+z(9)+z(10)+z(11)+z(12)+z(13)+z(14)+z(15)+z(16)+z(17)+z(18)+z(19)+z(20)+z(21)+z(22)+z(23)+z(24)+z(25));
mx1=diff('m','x1')
but there are the errors:
??? Error using ==> mupadmex
Error in MuPAD command: Index exceeds matrix dimensions.
Error in ==> sym.sym>sym.subsref at 1381
B = mupadmex('symobj::subsref',A.s,inds{:});
How can I solve the problem? Thanks

채택된 답변

autshy
autshy 2013년 8월 5일
this problem was solved now..

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Numeric Solvers에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by