Resolver Ecuaciones No lineales
Publicado por Oscar (1 intervención) el 20/04/2014 21:24:25
Hola amigos, veran tengo un problema con un código de matlab, el problema es que matlab no me muestra todas las soluciones de un sistema de ecuaciones no lineales, sólo me muestra una solución pero yo necesito todas las posibles, el sistemas es un sistema de 3x3 y siempre será asi, es para poder sacar la cinemática inversa de manipuladores, espero que me puedan ayudar, el código es el siguiente:
Como pueden observar lo que hago es tomar las ecuaciones que quiero resolver de una matriz de 4x4 y aplicar el solve, antes si me mostraba todas las soluciones con el solve pero se tenian que introducir manualmente las tres ecuaciones, pero lo que yo necesito es introducirlas desde la matriz y que me muestren todas las soluciones.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
syms l1 l2 b1 b2 b3 l3 l4 theta1 b3 alfa1 b2 theta2 a2 alfa2 theta3 theta4 theta5 theta6
P=[400,400,600]
l1=100
x1=[ 0, theta1, l1, pi/2];
x2=[ 0, theta2, 0, -pi/2];
x3=[ b3, 0, 0, 0];
%x4=[ -320, 0, 0, pi/2];
%x5=[ 0, pi/6, 0, -pi/2];
%x6=[ -80, 0, 0, pi];
T1=[cos(x1(2)) -1*sin(x1(2))*cos(x1(4)) sin(x1(2))*sin(x1(4)) x1(3)*cos(x1(2));
sin(x1(2)) cos(x1(2))*cos(x1(4)) -1*cos(x1(2))*sin(x1(4)) x1(3)*sin(x1(2));
0 sin(x1(4)) cos(x1(4)) x1(1);
0 0 0 1];
T2=[cos(x2(2)) -1*sin(x2(2))*cos(x2(4)) sin(x2(2))*sin(x2(4)) x2(3)*cos(x2(2));
sin(x2(2)) cos(x2(2))*cos(x2(4)) -1*cos(x2(2))*sin(x2(4)) x2(3)*sin(x2(2));
0 sin(x2(4)) cos(x2(4)) x2(1);
0 0 0 1];
T3=[cos(x3(2)) -1*sin(x3(2))*cos(x3(4)) sin(x3(2))*sin(x3(4)) x3(3)*cos(x3(2));
sin(x3(2)) cos(x3(2))*cos(x3(4)) -1*cos(x3(2))*sin(x3(4)) x3(3)*sin(x3(2));
0 sin(x3(4)) cos(x3(4)) x3(1);
0 0 0 1];
T14=T1*T2*T3
e1=T14(1,4)==P(1);
e2=T14(2,4)==P(2);
e3=T14(3,4)==P(3);
[b3,theta2,theta1]=solve(e1,e2,e3);
W1=radtodeg(vpa(theta1,10))
W2=radtodeg(vpa(theta2,10))
W3=vpa(b3,10)
Como pueden observar lo que hago es tomar las ecuaciones que quiero resolver de una matriz de 4x4 y aplicar el solve, antes si me mostraba todas las soluciones con el solve pero se tenian que introducir manualmente las tres ecuaciones, pero lo que yo necesito es introducirlas desde la matriz y que me muestren todas las soluciones.
Valora esta pregunta
0