2011-01-29 120 views
0

我有这样的代码:MATLAB:从矩阵变换到元件逐元素乘法

KM = [1 0; 0 1];  
syms x, syms y; 
% definition of force field 
V = [x y]*KM*[x ; y] 
Vdx = -diff(V,x); 
Fx = @(x,y) eval(Vdx); 

矩阵KM动态地改变potencial V的形状我在ODE求解使用Fx的。 我想要的是可以写Fx(A,B),其中A,B是矩阵。 我需要将V =(x^2 + y^2)的结果转换为V =(x。^ 2 + y。^ 2)。 有什么想法?

回答

0

我不太明白这个问题。当你手工操作数学时,不是Fx = @(x,y) -2*KM(1,1)*x-(KM(2,1)+KM(1,2))*y;

一般V是V = KM(1,1)*x^2+(KM(1,2)+KM(2,1))*x*y+KM(2,2)*y^2这只是一个二次形式。此外,如果是正确的和对称的,你可以简化一下。