Matlab - Live editor

 
Vista:

Live editor

Publicado por Nerea (6 intervenciones) el 21/01/2020 10:10:34
Hola,
Quiero resolver un sistema de ecuaciones de 30 incógnitas y 30 ecuaciones. Me da el siguiente error:

Error using sym.getEqnsVars>checkVariables (line 87)
Second argument must be a vector of symbolic variables.

Error in sym.getEqnsVars (line 54)
checkVariables(vars);

Error in solve>getEqns (line 429)
[eqns, vars] = sym.getEqnsVars(argv{:});

Error in solve (line 226)
[eqns,vars,options] = getEqns(varargin{:});

El programa es el siguiente:

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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
syms Na Ex Ey Bx By Fx Fy Cx Cy Gx Gy Jx Jy Gx Gy Ix Iy Kx Ky Mx My Lx Ly Nx Ny Ox Oy Dx Dy Np Nf Md
 
d=81/1000;
a=25/1000;
b=23.5/1000;
h=(340+b)/1000;
l1=200/1000;
l2=375/1000;
l3=l2;
l4=l2;
l5=l2;
l6=151/1000;
l7=l6;
l8=100/1000;
l9=310/1000;
l10=l9;
l11=375.8/1000;
 
m1=60/1000;
m2=110/1000;
m3=110/1000;
m4=110/1000;
m5=m4;
m6=50/1000;
m7=50/1000;
m8=30/1000;
m9=(930)/2000;
m10=(930)/2000;
m11=(1200)/2000;
me1=0.05/2;
me2=0.05/2;
me3=0.07/2;
mt=22.35/2;
 
x1=0.595;
x2=0.78;
x3=0.57;
x4=0.5;
x5=0.02;
x6=0.58;
x7=0.06;
x8=0.5;
x9=0.09;
x10=x9;
x11=0.01;
 
g=9.81;
nu=0.8;
q=392.4;
 
eq1=-Na+Ex;
eq2=-nu*Na+Ey-m1*g;
eq3=Ey*l1*cos(x1)+Ex*l1*sin(x1)-m1*g*(l1/2)*cos(x1);
eq4=Bx+Fx;
eq5=By+Fy-m2*g;
eq6=Fy*l2*cos(x2)+Fx*l2*sin(x2)-m2*g*(l2/2)*cos(x2);
eq7=Cx+Gx;
eq8=Cy+Gy-m3*g;
eq9=Gy*l3*cos(x3)-Gx*l3*sin(x3)-m3*g*(l3/2)*cos(x3);
eq10=Jx-Gx+Ix;
eq11=Jy-Gy+Iy;
eq12=Jy*l4*cos(x4)+Jx*l4*sin(x4)-m4*g*(l4/2)*cos(x4)+Iy*(69/125)*l4*cos(x4)+Ix*(69/125)*l4*sin(x4);
eq13=Kx-Fx-Ix;
eq14=Ky-Fy-Iy-m5*g;
eq15=-Iy*(46/75)*l5*cos(x5)+Ky*l5*cos(x5)+Ix*(46/75)*l5*sin(x5)-Kx*l5*sin(x5)-m5*g*(l5/2)*cos(x5);
eq16=Mx-Kx+Lx;
eq17=My-Ky+Ly-m6*g;
eq18=My*l6*cos(x6)+Mx*l6*sin(x6)-m6*g*(l6/2)*cos(x6)+Ky*(76/151)*l6*cos(x6)+Kx*(76/151)*l6*sin(x6);
eq19=Nx-Lx;
eq20=Ny-Ly-m7*g;
eq21=Ny*l7*cos(x7)-Nx*l7*sin(x7)-m7*g*(l7/2)*cos(x7);
eq22=Ox-Nx;
eq23=Oy-Ny;
eq24=Oy*l8*cos(x8)+Ox*l8*sin(x8)-m8*g*(l8/2)*cos(x8);
eq25=Dx-Ex-Jx-Mx-Ox+nu*Np;
eq26=Dy-Ey-Jy-My-Oy+Np+Nf-q*(l9+l10+l11)-(m9+m10+m11)*g-me1*g-me2*g-me3*g;
eq27=-Ey*(17/62)*l9-Jy*(l9+l10)-My*(l9+l10+(31/95)*l11)-Oy*(l9+l10+(15/199)*l11)+Nf*(l9+l10+l11)+Np*(l9+l10)-(m9+m10+m11)*g*((l9+l10+l11)/2)-q*((l9+l10+l11)^2/2)-me2*g*l9-me3*g*(l9+l10)+Md;
eq28=Bx-Na+Dx+Cx+nu*Np;
eq29=By-nu*Na+Dy+Cy-mt*g+Np+Nf;
eq30=Md+Cx*b-Cy*a+Np*(l9+l10)+Nf*(l9+l10+l11)+Na*l1*sin(x1)+nu*Na*(l1*cos(x1)-(17/62)*l9)-Bx*(h-b)-mt*g*64.31;
 
[Naa,Exa,Eya,Bxa,Bya,Fxa,Fya,Cxa,Cya,Jxa,Jya,Gxa,Gya,Ixa,Iya,Kxa,Kya,Mxa,Mya,Lxa,Lya,Nxa,Nya,Oxa,Oya,Dxa,Dya,Npa,Nfa,Mda]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,eq11,eq12,eq13,eq14,eq15,eq16,eq17,eq18,eq19,eq20,eq21,eq22,eq23,eq24,eq25,eq26,eq27,eq28,eq29,eq30,Na,Ex,Ey,Bx,By,Fx,Fy,Cx,Cy,Gx,Gy,Jx,Jy,Gx,Gy,Ix,Iy,Kx,Ky,Mx,My,Lx,Ly,Nx,Ny,Ox,Oy,Dx,Dy,Np,Nf,Md)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Live editor

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/01/2020 13:17:38
1
syms Na Ex Ey Bx By Fx Fy Cx Cy Gx Gy Jx Jy Gx Gy Ix Iy Kx Ky Mx My Lx Ly Nx Ny Ox Oy Dx Dy Np Nf Md
Hay 32 variables y 30 ecuaciones .
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Live editor

Publicado por Nerea (6 intervenciones) el 21/01/2020 15:30:23
Si ya he solucionado ese problema pero sigue dando el mismo error.
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
syms Na Ex Ey Bx By Fx Fy Cx Cy Gx Gy Jx Jy Ix Iy Kx Ky Mx My Lx Ly Nx Ny Ox Oy Dx Dy Np Nf Md
 
d=81/1000;
a=25/1000;
b=23.5/1000;
h=(340+b)/1000;
l1=200/1000;
l2=375/1000;
l3=l2;
l4=l2;
l5=l2;
l6=151/1000;
l7=l6;
l8=100/1000;
l9=310/1000;
l10=l9;
l11=375.8/1000;
 
m1=60/1000;
m2=110/1000;
m3=110/1000;
m4=110/1000;
m5=m4;
m6=50/1000;
m7=50/1000;
m8=30/1000;
m9=(930)/2000;
m10=(930)/2000;
m11=(1200)/2000;
me1=0.05/2;
me2=0.05/2;
me3=0.07/2;
mt=22.35/2;
 
x1=0.595;
x2=0.78;
x3=0.57;
x4=0.5;
x5=0.02;
x6=0.58;
x7=0.06;
x8=0.5;
x9=0.09;
x10=x9;
x11=0.01;
 
g=9.81;
nu=0.8;
q=392.4;
 
eq1=-Na+Ex;
eq2=-nu*Na+Ey-m1*g;
eq3=Ey*l1*cos(x1)+Ex*l1*sin(x1)-m1*g*(l1/2)*cos(x1);
eq4=Bx+Fx;
eq5=By+Fy-m2*g;
eq6=Fy*l2*cos(x2)+Fx*l2*sin(x2)-m2*g*(l2/2)*cos(x2);
eq7=Cx+Gx;
eq8=Cy+Gy-m3*g;
eq9=Gy*l3*cos(x3)-Gx*l3*sin(x3)-m3*g*(l3/2)*cos(x3);
eq10=Jx-Gx+Ix;
eq11=Jy-Gy+Iy;
eq12=Jy*l4*cos(x4)+Jx*l4*sin(x4)-m4*g*(l4/2)*cos(x4)+Iy*(69/125)*l4*cos(x4)+Ix*(69/125)*l4*sin(x4);
eq13=Kx-Fx-Ix;
eq14=Ky-Fy-Iy-m5*g;
eq15=-Iy*(46/75)*l5*cos(x5)+Ky*l5*cos(x5)+Ix*(46/75)*l5*sin(x5)-Kx*l5*sin(x5)-m5*g*(l5/2)*cos(x5);
eq16=Mx-Kx+Lx;
eq17=My-Ky+Ly-m6*g;
eq18=My*l6*cos(x6)+Mx*l6*sin(x6)-m6*g*(l6/2)*cos(x6)+Ky*(76/151)*l6*cos(x6)+Kx*(76/151)*l6*sin(x6);
eq19=Nx-Lx;
eq20=Ny-Ly-m7*g;
eq21=Ny*l7*cos(x7)-Nx*l7*sin(x7)-m7*g*(l7/2)*cos(x7);
eq22=Ox-Nx;
eq23=Oy-Ny;
eq24=Oy*l8*cos(x8)+Ox*l8*sin(x8)-m8*g*(l8/2)*cos(x8);
eq25=Dx-Ex-Jx-Mx-Ox+nu*Np;
eq26=Dy-Ey-Jy-My-Oy+Np+Nf-q*(l9+l10+l11)-(m9+m10+m11)*g-me1*g-me2*g-me3*g;
eq27=-Ey*(17/62)*l9-Jy*(l9+l10)-My*(l9+l10+(31/95)*l11)-Oy*(l9+l10+(15/199)*l11)+Nf*(l9+l10+l11)+Np*(l9+l10)-(m9+m10+m11)*g*((l9+l10+l11)/2)-q*((l9+l10+l11)^2/2)-me2*g*l9-me3*g*(l9+l10)+Md;
eq28=Bx-Na+Dx+Cx+nu*Np;
eq29=By-nu*Na+Dy+Cy-mt*g+Np+Nf;
eq30=Md+Cx*b-Cy*a+Np*(l9+l10)+Nf*(l9+l10+l11)+Na*l1*sin(x1)+nu*Na*(l1*cos(x1)-(17/62)*l9)-Bx*(h-b)-mt*g*64.31;
 
[Naa,Exa,Eya,Bxa,Bya,Fxa,Fya,Cxa,Cya,Jxa,Jya,Gxa,Gya,Ixa,Iya,Kxa,Kya,Mxa,Mya,Lxa,Lya,Nxa,Nya,Oxa,Oya,Dxa,Dya,Npa,Nfa,Mda]=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eq9,eq10,eq11,eq12,eq13,eq14,eq15,eq16,eq17,eq18,eq19,eq20,eq21,eq22,eq23,eq24,eq25,eq26,eq27,eq28,eq29,eq30,Na,Ex,Ey,Bx,By,Fx,Fy,Cx,Cy,Gx,Gy,Jx,Jy,Gx,Gy,Ix,Iy,Kx,Ky,Mx,My,Lx,Ly,Nx,Ny,Ox,Oy,Dx,Dy,Np,Nf,Md)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Live editor

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/01/2020 16:08:57
Por la estructuras de tus ecuaciones se puede pasar a una ecuación matricial de la forma AX=B, por lo tanto la solución seria X=inv(A)*B
siempre y cuando el determinante de la matriz A sea distinto de cero es decir det(A)~=0. Puede optar por este camino.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 6.975
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Live editor

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 21/01/2020 23:43:22
Estimado hemos revisado su sistema de ecuaciones lineales de 30 ecuaciones con 30 variables y hemos llegado a la conclusión de que el determinante del sistema lineales es igual cero, por lo tanto por teorema no tiene solución su sistema de ecuaciones lineales.



Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación matlab
Servicio de Asesoría Online en Matlab


http://matlabcaballero.blogspot.com
https://www.facebook.com/matlabcaballero
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Live editor

Publicado por Nerea (6 intervenciones) el 21/01/2020 23:46:01
Si muchas gracias por la ayuda! Intentaremos buscar otras soluciones! :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar