2011-01-29 7 views
0

I ayant ce code:MATLAB: conversion de la matrice de multiplication élément par élément

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); 

La matrice KM modifie dynamiquement la forme de V. Le potencial Fx j'utilise dans solveur ode. Ce que je veux, c'est pouvoir écrire Fx (A, B), où A, B est la matrice. J'ai besoin de convertir le résultat de V = (x^2 + y^2) en V = (x.^2 + y.^2). Une idée?

Répondre

0

Je ne comprends pas très bien la question. N'est pas Fx = @(x,y) -2*KM(1,1)*x-(KM(2,1)+KM(1,2))*y; lorsque vous faites les mathématiques à la main.

Le général V est V = KM(1,1)*x^2+(KM(1,2)+KM(2,1))*x*y+KM(2,2)*y^2 qui est juste une forme quadratique. Aussi, si est positif défini et symétrique, vous pouvez le simplifier un peu.

Questions connexes