Matlab - Dibujar Bucle

 
Vista:
sin imagen de perfil

Dibujar Bucle

Publicado por Mikel (2 intervenciones) el 23/12/2017 16:40:48
Teniendo esto,

close all;
clear;
clc;

%DATOS
%ESTRUCTURA
k = 0; %Rigidez (METER)
m = 1000; %Masa (METER)
uo = 0.020; %Desplazamiento inicial (METER)
vo = 0.000; %Velocidad inicial (METER)
psi = 0.00; %fraccion de amortiguamiento (METER)
%CARGA
Po = 0000; % Amplitud de la carga armonica (METER)
w = 0; % Frecuencia del motor, velocidad de giro del motor (METER) omega barra
%TIEMPO
Ttotal = 20; %Tiempo total para dibujar (METER)

n = 1;

for k = 1000 ; 20000 ; 200000;


%%%%FRECUENCIAS NATURALES
wn = sqrt(k/m);
wd = wn*sqrt(1-psi^2);

%%%%%%RESOLUCION DEL PROBLEMA
u0 = zeros(1,2);
u0(1) = uo;
u0(2) = vo;
f=@(t,u) [u(2);-2*psi*wn*u(2)-wn*wn*u(1)+Po*sin(w*t)];
tspan=[0 Ttotal];
[t,u]=ode45(f,tspan,u0);


maxu (n.1)=k;
maxu (n,2)=max (abs (u (:1)));
maxu (n,3)=max (abs (u (:2)));

n=n+1
end


figure(1)
plot(t,u(:,1),'b')
grid on
xlabel('t')
ylabel('Desplazamiento (m)');
title('Desplazamiento')

figure(2)
plot(t,u(:,2),'g')
grid on
xlabel('t')
ylabel('Velocidad (m/s)');
title('Velocidad')

figure(3)
plot(t,-2*psi*wn*u(:,2)-wn*wn*u(:,1)+Po*sin(w*t),'r')
grid on
xlabel('t')
ylabel('Aceleracion (m/s2)');
title('Aceleracion')

Quiero hacer un gráfico figure (4), rigidez k-desplazamiento máximo (la k tiene esos tres valores y saco sus desplazamientos maximos), y por eso hago un bucle para hacer más tarde la gráfica, pero no se como hacer ese gráfico rigidez k-desplazamiento máximo. Espero que alguien pueda ayudarme, gracias.
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

Dibujar Bucle

Publicado por JOSE JEREMIAS CABALLERO (5917 intervenciones) el 23/12/2017 22:25:50
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
close all;
clear;
clc;
 
%DATOS 
%ESTRUCTURA
k = 0; %Rigidez (METER)
m = 1000; %Masa (METER)
uo = 0.020; %Desplazamiento inicial (METER)
vo = 0.000; %Velocidad inicial (METER)
psi = 0.00; %fraccion de amortiguamiento (METER)
%CARGA
Po = 0000; % Amplitud de la carga armonica (METER)
w = 0; % Frecuencia del motor, velocidad de giro del motor (METER) omega barra
%TIEMPO
Ttotal = 20; %Tiempo total para dibujar (METER)
 
n = 1;
 
for k = 1000 ; 20000 ; 200000;
 
%%%%FRECUENCIAS NATURALES
wn = sqrt(k/m);
wd = wn*sqrt(1-psi^2);
 
%%%%%%RESOLUCION DEL PROBLEMA
u0 = zeros(1,2);
u0(1) = uo;
u0(2) = vo;
f=@(t,u) [u(2);-2*psi*wn*u(2)-wn*wn*u(1)+Po*sin(w*t)];
tspan=[0 Ttotal];
[t,u]=ode45(f,tspan,u0);
 
 
maxu (n,1)=k;
maxu (n,2)=max (abs (u (:,1)));
maxu (n,3)=max (abs (u (:,2)));
 
n=n+1
end
 
figure(1)
plot(t,u(:,1),'b')
grid on
xlabel('t')
ylabel('Desplazamiento (m)');
title('Desplazamiento')
 
figure(2)
plot(t,u(:,2),'g')
grid on
xlabel('t')
ylabel('Velocidad (m/s)');
title('Velocidad')
 
figure(3)
plot(t,-2*psi*wn*u(:,2)-wn*wn*u(:,1)+Po*sin(w*t),'r')
grid on
xlabel('t')
ylabel('Aceleracion (m/s2)');
title('Aceleracion')

filtré los error que habían en el código, pero no es claro lo que deseas exactamente.

Saludos
JOSE JEREMIAS CABALLERO
Asesor de Proyectos con Matlab
Servicios de programación 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
2
Comentar
sin imagen de perfil

Dibujar Bucle

Publicado por Mikel (2 intervenciones) el 23/12/2017 23:44:02
A ver si consigo explicarme correctamente...
Tengo tres gráficas (desplazamiento, velocidad y aceleración) y si cambio el valor de la "k" estas gráficas varían. Lo que quiero conseguir es una gráfica (figure (4)) que me mida en el eje x las rigideces (1000, 20000 y 200000) y en el eje y los desplazamientos máximos que obtenemos al cambiar la k desde 0 hasta 200000 de forma que salga una curva (pero resaltando esos 3 valores). Espero que se entienda bien, gracias.
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