Matlab - Ayuda calculo cinemático

 
Vista:

Ayuda calculo cinemático

Publicado por unai (1 intervención) el 24/05/2017 21:02:55
Hola buenas, tengo un problema con el programa planteado para realizar un calculo cinemático. Si a alguien se le ocurre como solucionarlo seria de gran ayuda. Gracias!

Programa:

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
%Aldagaiak
syms x1 x2 x3 x4 % x1=VerlA2 x2=VerlB2 x3=AerlA2 x4=AerlB2
 
%Parametroak
syms r W Ro sinTita tanBeta cosBeta sinBeta cosTita
Beta = cos(W*1.5*cosTita);
Ro =(W^2*1.5*sinTita)/(1+(W*1.5*cosTita)^2)^(3/2);
sinTita=(1-(cosTita)^2)^(1/2);
 
eqn1 = (W*r*tanBeta)-x1;
eqn2 = ((W*r)/cosBeta)-x2;
eqn3 = x3+((x2^2)/Ro*tanBeta);
eqn4 = x4+((x2^2)/Ro*((cosBeta^2-sinBeta^2)/cosBeta));
 
[x1, x2, x3, x4] = solve(eqn1, eqn2, eqn3, eqn4);
 
solution=subs([x1 x2 x3 x4], [W,r,], [7.5,14000,]);
 
figure
ezplot(solution (1), [0,2*pi]);
grid on
title('VerlA2');
xlabel('Beta(rad)');
ylabel('VerlA2(m/s)');
 
figure
ezplot(solution(2), [0,2*pi]);
grid on
title('VerlB2');
xlabel('Beta (rad)');
ylabel('VerlB2(m/s)');
 
figure
ezplot(solution(3), [0,2*pi]);
grid on
title('AerlA2');
xlabel('Beta (rad)');
ylabel('AerlA2 (m/s^2)');
 
figure
ezplot(solution(4), [0,2*pi]);
grid on
title('AerlB2');
xlabel('Beta (rad)');
ylabel('AerlB2 (rad/s^2)');
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 Daniel
Val: 269
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Ayuda calculo cinemático

Publicado por Daniel (264 intervenciones) el 25/05/2017 02:44:47
Dos cosas si defines tanBeta cosBeta sinBeta de esta manera matlab las tomara como tres variables independientes. Para esto debes definir solo tita y beta como variables y cambiar cosBeta por cos(beta) para todos los casos. lo segundo es que las soluciones 3 y 4 no dependen únicamente de una variable (dependen de tita y beta) con lo cual o fijas una de ellas o graficas en 3d con ezsurf por ejemplo...

Te dejo el código con esas correcciones

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
%Aldagaiak
syms x1 x2 x3 x4 % x1=VerlA2 x2=VerlB2 x3=AerlA2 x4=AerlB2
 
%Parametroak
syms r W Ro theta beta
Beta = cos(W*1.5*cos(theta));
Ro =(W^2*1.5*sin(theta))/(1+(W*1.5*cos(theta))^2)^(3/2);
sin(theta)=(1-(cos(theta))^2)^(1/2);
 
eqn1 = (W*r*tan(beta))-x1;
eqn2 = ((W*r)/cos(beta))-x2;
eqn3 = x3+((x2^2)/Ro*tan(beta));
eqn4 = x4+((x2^2)/Ro*((cos(beta)^2-sin(beta)^2)/cos(beta)));
 
[x1, x2, x3, x4] = solve(eqn1, eqn2, eqn3, eqn4);
 
solution=subs([x1 x2 x3 x4], [W,r,], [7.5,14000,]);
 
figure
ezplot(solution (1), [0,2*pi]);
grid on
title('VerlA2');
xlabel('Beta(rad)');
ylabel('VerlA2(m/s)');
 
figure
ezplot(solution(2), [0,2*pi]);
grid on
title('VerlB2');
xlabel('Beta (rad)');
ylabel('VerlB2(m/s)');
 
figure
ezsurf(solution(3));
grid on
title('AerlA2');
xlabel('Beta (rad)');
ylabel('Theta(rad)');
zlabel('AerlA2 (m/s^2)');
 
figure
ezsurf(solution(4));
grid on
title('AerlB2');
xlabel('Beta (rad)');
ylabel('Theta (rad)');
zlabel('AerlB2 (rad/s^2)');

Comentanos como te fue

Saludos

Daniel
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