I can't make A<B, it gives me 'lt' error
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hello! I am trying to make a loop with for inside a for, inside another for, but Matlab gives me this error:
Undefined function or method 'lt' for input arguments of type 'sym'
I've heard it's something about 'less than'.
I tried the program yesterday and it 'worked' (it run the program but my computer is very slow so I cancelled it before it ended, but it worked), but now I am doing the same and it gives me the error.
My loop is that:
for q1=(-185:10:185)*pi/180
for q2=(-135:10:35)*pi/180
for q3=(-120:10:158)*pi/180
J=jacobiana(q1,q2,q3,0,0,0);
D=det(J);
if abs(D)<0.05
P=tcd([q1,q2,q3,0,0,0]);
G=P*[0 0 0 1]';
x(i)=G(1);
y(i)=G(2);
z(i)=G(3);
i=i+1;
end
end
end
end
Risposta accettata
Walter Roberson
il 22 Apr 2013
What is "jacobiana" ? There is no function of that name in MATLAB or any of the toolboxes.
There is a function "jacobian", which is part of the Symbolic toolbox, and produces a symbolic output, but it uses a different calling sequence and needs to be provided with a variable name; see http://www.mathworks.com/help/symbolic/jacobian.html
You seem to be working with numeric values (unless somehow your 'pi' has become symbolic); the numeric routine most similar to "jacobian" is "gradient"
8 Commenti
Walter Roberson
il 22 Apr 2013
Modificato: Walter Roberson
il 22 Apr 2013
Why does that code not make use of the passed parameters, q1, q2, q3 ?
Possibly what you want is
J = double( subs( [fx1 fx2 fx3;fy1 fy2 fy3;fz1 fz2 fz3], {q_1, q_2, q_3, q_4, q_5, q_6}, {q1, q2, q3, q4, q5, q6}) );
Note that if that is the case, then for efficiency I would suggest calculating the symbolic matrix only once and just doing the double() of subs() the other times.
persistent J_precalc
if isempty(J_precalc)
.... your current code here, except assign to J_precalc instead of to J ...
end
J = double( subs(J_precalc, {q_1, q_2, q_3, q_4, q_5, q_6}, {q1, q2, q3, q4, q5, q6}) );
Più risposte (1)
Matt Kindig
il 22 Apr 2013
Hmmm...I don't see any 'sym' variables here. What is the class() of J and P?
3 Commenti
Vedere anche
Categorie
Scopri di più su Calculus in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!