Generación de animación modos de vibracion
Publicado por AdeusREX (1 intervención) el 30/09/2021 02:10:25
Estimados todos, espero os este bien, tengo un lio en mi cabeza ya que no puedo realizar una animación solicitada, la cual piden animar los primeros cuatro modos de vibración de una viga libre en ambos extremos.
Ya he calculado los factores diversos de rigidez y desplazamiento, y ya tengo los gráficos, pero solo me faltaría la animación. Entiendo que la amplitud es el valor que debe ir variando (de 0.05 a -0.05), resultando una grafica con dirección contraria una respecto a la otra.
Les dejo lo que llevo hasta el momento
clear variables
L = 1;
r = 0.005;
E = 210e9;
rho = 7800;
A = pi*r^2;
I = (pi*(2*r)^4)/64; % mˆ4
n = 100;
Lelem = L/n; % Longitud de cada elemento:
Melem = Melemental(Lelem,A,rho);
Kelem = Kelemental(E,I,A,Lelem);
M = ensamblaje(Melem,n);
K = ensamblaje(Kelem,n);
[V,lambda] = eig(K,M);
[lambdaOrdTodos, VOrdTodos] = ordenarVVPP(lambda,V);
lambdaOrd = lambdaOrdTodos(4:end);
VOrd = VOrdTodos(:,4:end);
frec = lambdaOrd.^(1/2)/(2*pi);
nfrec = 4;
amp = 0.05; % OS JURO ME HA LIADO LA AMPLITUD
for i = 1:nfrec
x = (0:L/n:L)' + amp*VOrd(1:3:end,i);
y = amp*VOrd(2:3:end,i);
figure; grid on; hold on;
plot(x,y,'r');
plot(x,zeros(size(x)),'b--')
title([num2str(frec(i)),' Hz'])
axis([-0.1,L+0.1,-1,1])
end
Ya he calculado los factores diversos de rigidez y desplazamiento, y ya tengo los gráficos, pero solo me faltaría la animación. Entiendo que la amplitud es el valor que debe ir variando (de 0.05 a -0.05), resultando una grafica con dirección contraria una respecto a la otra.
Les dejo lo que llevo hasta el momento
clear variables
L = 1;
r = 0.005;
E = 210e9;
rho = 7800;
A = pi*r^2;
I = (pi*(2*r)^4)/64; % mˆ4
n = 100;
Lelem = L/n; % Longitud de cada elemento:
Melem = Melemental(Lelem,A,rho);
Kelem = Kelemental(E,I,A,Lelem);
M = ensamblaje(Melem,n);
K = ensamblaje(Kelem,n);
[V,lambda] = eig(K,M);
[lambdaOrdTodos, VOrdTodos] = ordenarVVPP(lambda,V);
lambdaOrd = lambdaOrdTodos(4:end);
VOrd = VOrdTodos(:,4:end);
frec = lambdaOrd.^(1/2)/(2*pi);
nfrec = 4;
amp = 0.05; % OS JURO ME HA LIADO LA AMPLITUD
for i = 1:nfrec
x = (0:L/n:L)' + amp*VOrd(1:3:end,i);
y = amp*VOrd(2:3:end,i);
figure; grid on; hold on;
plot(x,y,'r');
plot(x,zeros(size(x)),'b--')
title([num2str(frec(i)),' Hz'])
axis([-0.1,L+0.1,-1,1])
end
Valora esta pregunta


0