I cant take inverse of J matris. it is jacobian.

syms x g h k l q a b c d f
y1 = (x*cos(q)+x*cos(g)-f*cos(l)-(b/2)*cos(h)-a*cos(q));
y2 = (x*sin(q)+x*sin(g)-f*sin(l)-(b/2)*sin(h)-a*sin(q));
y3 = (a*cos(q)+b*cos(h)-c*cos(k)-d);
y4 = a*sin(q)+b*sin(h)-c*sin(k);
y = [y1; y2; y3; y4];
v = [x; (h); (k); (l)];
J = jacobian(y, v);
inv(J)
J * inv(J)

6 commentaires

John D'Errico
John D'Errico le 26 Déc 2013
Why can't you do that? Works for me.
Emrah
Emrah le 26 Déc 2013
J*inv(J) should give the unit matrix but it is not.
It would only give the unit matrix if J is non-singular.
Emrah
Emrah le 26 Déc 2013
Modifié(e) : Emrah le 26 Déc 2013
ie, is this true; inv(J)?
What does rank(J) indicate ?
Emrah
Emrah le 26 Déc 2013
I dont understand what you mean? J matrix is jacobian matris. rank(J) = 4 gives me. :(

Connectez-vous pour commenter.

 Réponse acceptée

A Jenkins
A Jenkins le 26 Déc 2013
Modifié(e) : A Jenkins le 26 Déc 2013
simplify(J*inv(J))
ans =
[ 1, 0, 0, 0]
[ 0, 1, 0, 0]
[ 0, 0, 1, 0]
[ 0, 0, 0, 1]

Plus de réponses (0)

Catégories

En savoir plus sur Robust Control Toolbox dans Centre d'aide et File Exchange

Produits

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by