Problema con solve dentro de un bucle
Publicado por Itxaso Iriondo (1 intervención) el 16/01/2020 12:46:53
Hola :)
Tengo un problema al intentar resolver un sistema de 6 ecuaciones con 6 incógnitas dentro de un bucle. El error que me aparece es el siguiente.:
Error using solve (line 266)
Specify the variable to solve for.
Error in motorgiratorio (line 108)
[Ax,Ay,N1,N2,x,Fm]=solve(Eq1,Eq2,Eq3,Eq4,Eq5,Eq6,Ax,Ay,N1,N2,x,Fm)
No entiendo que ocurre con ese error. El programa es el siguiente:
Gracias por la ayuda <3
Tengo un problema al intentar resolver un sistema de 6 ecuaciones con 6 incógnitas dentro de un bucle. El error que me aparece es el siguiente.:
Error using solve (line 266)
Specify the variable to solve for.
Error in motorgiratorio (line 108)
[Ax,Ay,N1,N2,x,Fm]=solve(Eq1,Eq2,Eq3,Eq4,Eq5,Eq6,Ax,Ay,N1,N2,x,Fm)
No entiendo que ocurre con ese error. 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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
clc
clear all
syms Ax Ay N1 N2 x Fm
%Data
x0=5;
n=0.47;
p=2;
e=2;
vm=(n*p*e)/(2*3.14);
angle=0.26;
M=11.55;
m=0.3;
am=0
tr=11:22
H=316;
a=-51;
altura=377.5;
base=162;
g=9.81;
%Geometria
U=1;
for i=1:length(tr)
t=tr(1,U);
x2=(x0+vm*cos(angle)*t+(am*cos(angle)*t^2))/2;
x2r(U,:)=x2;
U=U+1;
end
U=1;
for i=1:length(tr)
t=tr(1,U);
h=(vm*t*sin(angle)+(am*cos(angle)*t^2))/2;
hr(U,:)=h;
U=U+1;
end
U=1;
for i=1:length(hr)
h=hr(U,1);
x2=x2r(U,1);
tita=asin(h/x2);
titar(U,1)=tita;
U=U+1;
end
%Velocidades de giro
U=1;
for i=1:length(titar)
tita=titar(U,1);
x2=x2r(U,1);
w2=(vm*sin(angle)/cos(angle))/(x2*cos(tita));
w2r(U,:)=w2;
U=U+1;
end
%Aceleracion de giro
U=1;
for i=1:length(titar)
tita=titar(U,1);
w2=w2r(U,1);
x2=x2r(U,1);
alfa2=(am*sin(angle)*cos(angle)+x2*sin(angle)*w2.^2-2*w2*vm)/(x2*cos(tita));
alfa2r(U,:)=alfa2;
U=U+1;
end
%ag1
ag1x=am
ag1y=am*sin(angle)/cos(angle)
%ag2
U=1;
for i=1:length(alfa2r)
alfa2=alfa2r(U,1);
w2=w2r(U,1);
ag2x=-alfa2*(H/2)-w2^2*a;
ag2y=alfa2*a-w2^2*(H/2);
ag2xr(U,1)=ag2x;
ag2yr(U,1)=ag2y;
U=U+1;
end
H=H/1000;
a=-a/1000;
altura=altura/1000;
base=base/1000;
s=11/1000;
Ig=(altura^2+base^2)*M/12;
nu1=0.6;
nu2=0.8;
L=10.8/1000;
U=1;
for i=1:11
ag2x=ag2xr(U,1);
ag2y=ag2yr(U,1);
alfa2=alfa2r(U,1);
x2=x2r(U,1)/1000;
Eq1=Ax+N2*nu1-M*ag2x;
Eq2= Ay+N2-M*g-M*ag2y;
Eq3=N2*x2-M*g*a+M*ag2x*H/2-M*ag2y*a-Ig*alfa2;
Eq4=N2*nu1-Fm+N1*nu2*cos(angle)+N1*sin(angle)-m*ag1x;
Eq5=-N2-m*g-N1*nu2*sin(angle)+N1*cos(angle)-m*ag1y;
Eq6=-Fm*L+N1*nu2*cos(angle)*s+N1*nu2*sin(angle)*x+N1*sin(angle)*s+N1*cos(angle)*x-N2*x2-N2*nu1*L;
[Ax,Ay,N1,N2,x,Fm]=solve(Eq1,Eq2,Eq3,Eq4,Eq5,Eq6,Ax,Ay,N1,N2,x,Fm)
Axr(U,:)=Ax;
Ayr(U,:)=Ay;
N1(U,:)=N1;
N2(U,:)=N2;
x(U,:)=x;
Fm(U,:)=Fm;
U=U+1;
end
Gracias por la ayuda <3
Valora esta pregunta
0