2011-01-29 27 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が動的IはODEソルバで使用為替V. potencialの形状を変化させるマトリックス。 私が欲しいのは、A、Bが行列であるFx(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です。また、正定で対称であれば、少し単純化することができます。