• No se han encontrado resultados

Rutina en Matlab

N/A
N/A
Protected

Academic year: 2021

Share "Rutina en Matlab"

Copied!
27
0
0

Texto completo

(1)

 __________

 __________

_________

_________

__________

__________

__________

__________

_____

_____

PREGUNTA Nº 1

PREGUNTA Nº 1

Elabore una rutina en Matlab para calcular la

Elabore una rutina en Matlab para calcular la respuesta de un

respuesta de un

sistema de un grado de libertad utilizando el método de diferencia centrada.

sistema de un grado de libertad utilizando el método de diferencia centrada.

Escriba la función utilizando los siguientes argumentos de input y output

Escriba la función utilizando los siguientes argumentos de input y output

[u,v]=IntDifcen(m,c,k,pt,dt,u0,v0)

[u,v]=IntDifcen(m,c,k,pt,dt,u0,v0)

m: Masa del sistema.

m: Masa del sistema.

c: Amortiguamiento.

c: Amortiguamiento.

k: Rigidez.

k: Rigidez.

pt: Vector con la fuerza excitadora en cada instante de tiempo.

pt: Vector con la fuerza excitadora en cada instante de tiempo.

dt: Intervalo de tiempo de la fuerza excitadora.

dt: Intervalo de tiempo de la fuerza excitadora.

uo: Desplazamiento inicial.

uo: Desplazamiento inicial.

vo: Velocidad inicial.

vo: Velocidad inicial.

u: Vector con el desplazamiento versus tiempo.

u: Vector con el desplazamiento versus tiempo.

v: Vector con la velocidad versus tiempo.

v: Vector con la velocidad versus tiempo.

Utilizando esta función resuelva el ejercicio 1 y 2 de clases. Muestre

Utilizando esta función resuelva el ejercicio 1 y 2 de clases. Muestre

en una tabla los valores de desplazamiento y velocidad versus tiempo.

en una tabla los valores de desplazamiento y velocidad versus tiempo.

SOLUCION:

SOLUCION:

1-1.-Para este ejercicio se utilizó el método de diferencias centradas,

1-1.-Para este ejercicio se utilizó el método de diferencias centradas,

que se basa en una aproximación por diferencias finitas de la velocidad y

que se basa en una aproximación por diferencias finitas de la velocidad y

aceleración del paso i con esta hipótesis

(2)

 __________

 __________

_________

_________

__________

__________

__________

__________

_____

_____

ANTISISMICA

(3)

 ____________________________________________

1-2.-CODIGOS UTILIZADOS EN LA RUTINA DE MATLAB

EJERCICIO Nº 1 Y Nº 2:

%UNIVERSIDAD DE HUÀNUCO

%FACULTAD DE INGENIERIA CIVIL %CURSO: ANTISISMICA

%DOCENTE:MAG. ING. "ERIC REM LOVON DAVILA" %TERCERA TAREA ACADEMICA

%ALUMNO:"NOÈ ANTONIO BENAVENTE SALAS" %METODO DE LA DIFERENCIA CENTRADA %RUTINA EN MATLAB

%FECHA:08/11/2018

function [u,v]=IntDifcen(m,c,k,pt,dt,u0,v0) %DEFINICION DE LOS PARAMETROS

%m: Masa

%c: Amortiguamiento %k: Rigidez

%pt: Vector de fuerza excitadora en cada instante de tiempo %dt: Intervalo de tiempo de la fuerza excitadora

(4)

 ____________________________________________

ANTISISMICA CICLO IX-2018

%v0: Velocidad inicial t=0

%u : Vector con el desplazamiento versus tiempo %v : Vector con la velocidad versus tiempo

m=1 %kg Masa

Tn=1 %seg Periodo no Amortiguado wn=2*pi/Tn %rad/s Frecuencia Angular k=(wn^2)*m % Rigidez del Sistema p0=10 %N fuerza inicial

td=0.5 %seg Periodo Amortiguado v0=0

u0=0

z=0; %factor de amortiguamiento critico c=2*z*wn*m; dt=0.1; t=0:dt:1; % Aceleracion en t=0 a0=(p0-c*v0-k*u0)/m; %Desplazamiento en t=-1 um1=u0-dt*v0+(dt^2)*a0/2;

%Definicion del largo de la excitacion n=length(t);

pt=zeros(n,1); pt(t<=td)=p0;

%Definicion de los parametros del sistema kg=(m/dt^2+c/(2*dt))

b=((-2*m)/(dt^2))+k a=(m/(dt^2))-(c/(2*dt))

%Inicializar la respuesta del sistema u=zeros(n,1);

v=u; u(1)=u0; v(1)=v0;

%Calcular la respuesta en cada intervalo de tiempo for i=1:n-1

pig=pt(i)-a*um1-b*u(i); u(i+1,1)=pig/kg;

(5)

 ____________________________________________

end

% Definicion del Desplazamiento Estatico ust=p0/k;

% Definicion del Vector Tiempo t=0:0.1:1;

% Definicion del Desplazamiento ut=ust*(1-cos(wn*t)); for i=1:length(t) ti=t(i); ut(i)=ust*(1-cos(wn*ti)); if ti>td; ut(i)=ust*(cos(wn*(ti-td))-cos(wn*ti)); end end t2=0:0.001:1 for i=1:length(t2) ti=t2(i); ut2(i)=ust*(1-cos(wn*ti)); if ti>td; ut2(i)=ust*(cos(wn*(ti-td))-cos(wn*ti)); end end

%Graficando los resultados figure

plot(t,ut,'-o');hold on plot(t2,ut2,'r');hold on xlabel('TIEMPO')

ylabel('DESPLAZAMIENTO' )

(6)

 ____________________________________________

ANTISISMICA CICLO IX-2018

(7)

 ____________________________________________

(8)

 ____________________________________________

ANTISISMICA CICLO IX-2018

(9)

 ____________________________________________

1-6.-GRAFICO DEL EJERCICIO Nº 2

PREGUNTA Nº2

Elabore una rutina en Matlab para calcular la respuesta de un sistema de

un grado de libertad utilizando el método exacto basado en la interpolación

(10)

 ____________________________________________

ANTISISMICA CICLO IX-2018

de la excitación. Escriba la función utilizando los siguientes argumentos de

input y output, donde la definición de las variables es análoga a la anterior.

[u,v]=IntExacto(m,c,k,pt,dt,u0,v0)

Utilizando esta función resuelva el ejercicio 1 y 2 de clases. Muestre

en una tabla los valores de desplazamiento y velocidad versus tiempo.

SOLUCION:

2-1.-Para este ejercicio se utilizó el método exacto o Interpolación de

la Excitación en la cual según las bibliografías investigadas nos dicen:

- Solo son validos en sistemas lineales, se basan en interpolar la

exitacion en cada paso de carga y aplicar soluciones exactas.

Ejemplo: SAP90. Son muy eficientes

- Si el paso temporal de la variación de tiempo es corto, basta con

interpolaciones lineales

(11)

 ____________________________________________

2-2.-CODIGOS UTILIZADOS EN LA RUTINA DE MATLAB

EJERCICIO Nº 1 Y Nº 2:

%UNIVERSIDAD DE HUÀNUCO

%FACULTAD DE INGENIERIA CIVIL %CURSO: ANTISISMICA

(12)

 ____________________________________________

ANTISISMICA CICLO IX-2018

%DOCENTE:MAG. ING. "ERIC REM LOVON DAVILA" %TERCERA TAREA ACADEMICA

%ALUMNO:"NOÈ ANTONIO BENAVENTE SALAS"

%METODO EXACTO BASADO EN LA INTERPOLACION DE LA EXCITACIÒN %RUTINA DE MATLAB

%FECHA: 08/11/2018

function [u,v]=IntExacto(m,c,k,pt,dt,u0,v0) %DEFINICION DE LOS PARAMETROS

%m: Masa

%c: Amortiguamiento %k: Rigidez

%pt: Vector de fuerza excitadora en cada instante de tiempo %dt: Intervalo de tiempo de la fuerza excitadora

%u0: Desplazamiento inicial t=0 %v0: Velocidad inicial t=0

%u : Vector con el desplazamiento versus tiempo %v : Vector con la velocidad versus tiempo

m=1; %kg Masa

Tn=1; %seg Periodo no Amortiguado wn=2*pi/Tn; %rad/s Frecuencia Angular k=(wn^2)*m; % Rigidez del Sistema po=10; %N

td=0.5; %seg Periodo Amortiguado vo=0;

uo=0;

z=0; %Factor de amortiguamiento critico c=2*z*wn*m;

wd=wn*sqrt(1-z^2); dt=0.1;

t=0:dt:1;

%Definicion del largo de la excitacion n=length(t);

pt=zeros(n,1); pt(t<=td)=po;

%Constante Metodo Exacto Basado en la Interpolacion de la excitacion A=exp(-z*wn*dt)*(z/sqrt(1-z^2)*sin(wd*dt)+cos(wd*dt)) B=exp(-z*wn*dt)*(sin(wd*dt)/wd) C=(1/k)*(2*z/(wn*dt)+exp(-z*wn*dt)*(((1-2*z^2)/(wd*dt)-z/sqrt(1-z^2))*sin(wd*dt)-(1+2*z/(wn*dt))*cos(wd*dt))) D=(1/k)*(1-2*z/(wn*dt)+exp(-z*wn*dt)*((2*z^2-1)/(wd*dt)*sin(wd*dt)+2*z/(wn*dt)*cos(wd*dt))) Apri=-exp(-z*wn*dt)*(wn/sqrt(1-z^2)*sin(wd*dt)) Bpri=exp(-z*wn*dt)*(cos(wd*dt)-z/sqrt(1-z^2)*sin(wd*dt)) Cpri=(1/k)*((-1/dt)+(exp(-z*wn*dt))*(((wn/sqrt(1-z^2))+(z/dt*sqrt(1-z^2)))*sin(wd*dt)+(1/dt)*cos(wd*dt))) Dpri=1/(k*dt)*(1-exp(-z*wn*dt)*(z/sqrt(1-z^2)*sin(wd*dt)+cos(wd*dt)))

(13)

 ____________________________________________

%Inicializar la respuesta del sistema u=zeros(n,1);

v=u; u(1)=uo; v(1)=vo;

%Calcular la respuesta en cada intervalo de tiempo for i=1:n-1 dp=pt(i+1)-pt(i); e=u(i); f=v(i)/wn; u(i+1,1)=A*u(i)+B*v(i)+C*pt(i)+D*pt(i+1); v(i+1,1)=Apri*u(i)+Bpri*v(i)+Cpri*pt(i)+Dpri*pt(i+1); end end

(14)

 ____________________________________________

ANTISISMICA CICLO IX-2018

(15)

 ____________________________________________

(16)

 ____________________________________________

ANTISISMICA CICLO IX-2018

(17)

 ____________________________________________

2-6.-GRAFICO DEL EJERCICIO Nº 2

PREGUNTA Nº3

(18)

 ____________________________________________

ANTISISMICA CICLO IX-2018

Considere un sistema de un grado de libertad de periodo Tn=1

segundo y sin amortiguamiento. Obtenga el desplazamiento versus tiempo

del sistema para td = 0.125, 0.25, 1, 1.5, 2, 2.5 y 3 segundos para los tres

pulsos. Coloque la respuesta de los 7 casos de un mismo pulso en un

mismo gráfico. En el eje x grafique el tiempo normalizado t/Tn hasta el valor

5.0. En el eje y grafique el desplazamiento normalizado u/(ust)0.

Comente sus resultados. Adicionalmente, comente sobre el

desplazamiento máximo que obtiene al usar distintos valores de incremento

de tiempo dt.

SOLUCION:

3.1.1.-FUERZA DE PULSO RECTANGULAR: Se utilizo

3.1.2.- CODIGOS UTILIZADOS EN LA RUTINA DE MATLAB

FUERZA DE PULSO RECTANGULAR

%UNIVERSIDAD DE HUÀNUCO

%FACULTAD DE INGENIERIA CIVIL %CURSO: ANTISISMICA

%DOCENTE:MAG. ING. "ERIC REM LOVON DAVILA" %TERCERA TAREA ACADEMICA

%ALUMNO:"NOÈ ANTONIO BENAVENTE SALAS" %FUERZA DE PULSO RECTANGULAR

%EJERCICIO N° 03-01 FUERZA DE PULSO RECTANGULAR %FECHA:08/11/2018

(19)

 ____________________________________________

%---FUERZA DE PULSO RECTANGULAR---%DATOS td1=0.125; % CASO 1 td2=0.25; % CASO 2 td3=1; % CASO 3 td4=0.5; % CASO 4 td5=2; % CASO 5 td6=2.5; % CASO 6 td7=3; % CASO 7 m=1 % MASA

ti=(0:0.1:5); % INTERCALO DE TIEMPO tn=1 % PERIODO NATURAL

wn=2*pi/tn % PRECUENCIA NATURAL po=1 % VECTOR FUERZA

k=wn^2*m % RIGIDEZ ust=po/k; % si t<= td: p(t)=po :u=ust(i)*(cos(wn*(ti-td))-cos(wn*(ti))) O % u=ust(i)*(2*sin(3.1416*td/tn)*sin(2*3.1416*(ti/tn-td/(2*tn)))) % si t< td : p(t)=0 for i = 1:length(ti)-1; %{ u1=ust*(cos(wn*(ti-td1))-cos(wn*(ti))) % CASO 1 EN f(wn) u2=ust*(cos(wn*(ti-td2))-cos(wn*(ti))) % CASO 2 EN f(wn) u3=ust*(cos(wn*(ti-td3))-cos(wn*(ti))) % CASO 3 EN f(wn) u4=ust*(cos(wn*(ti-td4))-cos(wn*(ti))) % CASO 4 EN f(wn) u5=ust*(cos(wn*(ti-td5))-cos(wn*(ti))) % CASO 5 EN f(wn) u6=ust*(cos(wn*(ti-td6))-cos(wn*(ti))) % CASO 6 EN f(wn) u7=ust*(cos(wn*(ti-td7))-cos(wn*(ti))) % CASO 7 EN f(wn) %} u1=ust*(2*sin(3.1416*td1/tn)*sin(2*3.1416*(ti/tn-td1/(2*tn)))); % CASO 1 u2=ust*(2*sin(3.1416*td2/tn)*sin(2*3.1416*(ti/tn-td2/(2*tn)))); % CASO 2 u3=ust*(2*sin(3.1416*td3/tn)*sin(2*3.1416*(ti/tn-td3/(2*tn)))); % CASO 3 u4=ust*(2*sin(3.1416*td4/tn)*sin(2*3.1416*(ti/tn-td4/(2*tn)))); % CASO 4 u5=ust*(2*sin(3.1416*td5/tn)*sin(2*3.1416*(ti/tn-td5/(2*tn)))); % CASO 5 u6=ust*(2*sin(3.1416*td6/tn)*sin(2*3.1416*(ti/tn-td6/(2*tn)))); % CASO 6 u7=ust*(2*sin(3.1416*td7/tn)*sin(2*3.1416*(ti/tn-td7/(2*tn)))); % CASO 7 end

disp ( 'FUERZA DE PULSO RECTANGULAR: ust=(po/k)' )

disp(' td1=0.125 td2=0.25 td3=1 td4=0.5 td5=2 td6=2.5 td7=3' )

disp(' u1 u2 u3 u4 u5 u6 u7 ' ) %ordena valores calculados de constantes

(20)

 ____________________________________________

ANTISISMICA CICLO IX-2018

disp( [ u1' u2' u3' u4' u5' u6' u7' ]) %ordena resultados

disp(' ---- EJE X (ti/tn) VS EJEY(u1(t)/ust)----' )

disp(' ti/tn u1(t)/ust u2(t)/ust u3(t)/ust u4(t)/ust u5(t)/ust u6(t)/ust u7(t)/ust ' )

disp ([(ti/tn)' (u1/ust)' (u2/ust)' (u3/ust)' (u4/ust)' (u5/ust)' (u6/ust)' (u7/ust)']) plot ( ti/tn,u1/ust) hold on; plot ( ti/tn,u2/ust) hold on; plot ( ti/tn,u3/ust) hold on; plot ( ti/tn,u4/ust) hold on; plot ( ti/tn,u5/ust) hold on; plot ( ti/tn,u6/ust) hold on; plot ( ti/tn,u7/ust) hold on;

xlabel('t/tn') % etiqueta de tiempo en el grafico en el eje x ylabel('u(t)/ust') % titulo del grafico en el eje y

(21)

 ____________________________________________

3.1.3.-APLICACIÓN FUERZA DE PULSO

RECTANGULAR

(22)

 ____________________________________________

ANTISISMICA CICLO IX-2018

3.1.4.-GRAFICO FUERZA DE PULSO

RECTANGULAR

3.2.1.-FUERZA DE PULSO SINUSOIDAL DE MEDIO CICLO: Se

utilizo

(23)

 ____________________________________________

3.2.2.- CODIGOS UTILIZADOS EN LA RUTINA DE MATLAB

FUERZA DE PULSO SINUSOIDAL DE MEDIO CICLO

%UNIVERSIDAD DE HUÀNUCO

%FACULTAD DE INGENIERIA CIVIL %CURSO: ANTISISMICA

%DOCENTE:MAG. ING. "ERIC REM LOVON DAVILA" %TERCERA TAREA ACADEMICA

%ALUMNO:"NOÈ ANTONIO BENAVENTE SALAS" %FUERZA DE PULSO SINOSOIDAL

%EJERCICIO N° 03-03 FUERZA DE PULSO SINOSOIDAL %FECHA: 08/11/2018

%FUERZA DE PULSO SINOSOIDAL ---%DATOS: td1=0.125; % CASO 1 td2=0.25; % CASO 2 td3=1; % CASO 3 td4=0.5; % CASO 4 td5=2; % CASO 5 td6=2.5; % CASO 6 td7=3; % CASO 7 m=1 % MASA

ti=(0:0.1:5); % INTERCALO DE TIEMPO tn=1 % PERIODO NATURAL

wn=2*pi/tn % PRECUENCIA NATURAL po=1 % VECTOR FUERZA

k=wn^2*m % RIGIDEZ

ust1=(po/k)*sin(pi*ti/td1); %PULSO sinosoidal caso1 ust2=(po/k)*sin(pi*ti/td2); %PULSO sinosoidal caso2 ust3=(po/k)*sin(pi*ti/td3); %PULSO sinosoidal caso3 ust4=(po/k)*sin(pi*ti/td4); %PULSO sinosoidal caso4 ust5=(po/k)*sin(pi*ti/td5); %PULSO sinosoidal caso5 ust6=(po/k)*sin(pi*ti/td6); %PULSO sinosoidal caso6 ust7=(po/k)*sin(pi*ti/td7); %PULSO sinosoidal caso7

% si t<= td: p(t)=po :u=ust(i)*(cos(wn*(ti-td))-cos(wn*(ti))) O % u=ust(i)*(2*sin(3.1416*td/tn)*sin(2*3.1416*(ti/tn-td/(2*tn)))) % si t< td : p(t)=0 for i = 1:length(ti)-1; %{ u1=ust1(i)*(cos(wn*(ti-td1))-cos(wn*(ti))) % CASO 1 EN f(wn) u2=ust2(i)*(cos(wn*(ti-td2))-cos(wn*(ti))) % CASO 2 EN f(wn) u3=ust3(i)*(cos(wn*(ti-td3))-cos(wn*(ti))) % CASO 3 EN f(wn) u4=ust4(i)*(cos(wn*(ti-td4))-cos(wn*(ti))) % CASO 4 EN f(wn) u5=ust5(i)*(cos(wn*(ti-td5))-cos(wn*(ti))) % CASO 5 EN f(wn) u6=ust6(i)*(cos(wn*(ti-td6))-cos(wn*(ti))) % CASO 6 EN f(wn)

(24)

 ____________________________________________

ANTISISMICA CICLO IX-2018

u7=ust7(i)*(cos(wn*(ti-td7))-cos(wn*(ti))) % CASO 7 EN f(wn) %} u1=ust1(i)*(2*sin(3.1416*td1/tn)*sin(2*3.1416*(ti/tn-td1/(2*tn)))); % CASO 1 u2=ust2(i)*(2*sin(3.1416*td2/tn)*sin(2*3.1416*(ti/tn-td2/(2*tn)))); % CASO 2 u3=ust3(i)*(2*sin(3.1416*td3/tn)*sin(2*3.1416*(ti/tn-td3/(2*tn)))); % CASO 3 u4=ust4(i)*(2*sin(3.1416*td4/tn)*sin(2*3.1416*(ti/tn-td4/(2*tn)))); % CASO 4 u5=ust5(i)*(2*sin(3.1416*td5/tn)*sin(2*3.1416*(ti/tn-td5/(2*tn)))); % CASO 5 u6=ust6(i)*(2*sin(3.1416*td6/tn)*sin(2*3.1416*(ti/tn-td6/(2*tn)))); % CASO 6 u7=ust7(i)*(2*sin(3.1416*td7/tn)*sin(2*3.1416*(ti/tn-td7/(2*tn)))); % CASO 7 end

disp ( ' FUERZA DE PULSO SINOSOIDAL: ust=(po/k)*sin(pi*ti/td)' ) disp(' td1=0.125 td2=0.25 td3=1 td4=0.5 td5=2 td6=2.5 td7=3' )

disp(' u1 u2 u3 u4 u5 u6 u7 ' ) %ordena valores calculados de constantes

disp( [ u1' u2' u3' u4' u5' u6' u7' ]) %ordena resultados

disp(' ---- EJE X (ti/tn) VS EJEY(u1(t)/ust) ----' )

disp(' ti/tn u1(t)/ust1 u2(t)/ust2 u3(t)/ust3 u4(t)/ust4 u5(t)/ust5 u6(t)/ust6 u7(t)/ust7 ' )

disp ([(ti/tn)' (u1/ust1(i))' (u2/ust2(i))' (u3/ust3(i))' (u4/ust4(i))' (u5/ust5(i))' (u6/ust6(i))' (u7/ust7(i))'])

plot ( ti/tn,u1/ust1(i)) hold on; plot ( ti/tn,u2/ust2(i)) hold on; plot ( ti/tn,u3/ust3(i)) hold on; plot ( ti/tn,u4/ust4(i)) hold on; plot ( ti/tn,u5/ust5(i)) hold on; plot ( ti/tn,u6/ust6(i)) hold on; plot ( ti/tn,u7/ust7(i)) hold on;

xlabel('t/tn') % etiqueta de tiempo en el grafico en el eje x ylabel('u(t)/ust') % titulo del grafico en el eje y

(25)

 ____________________________________________

(26)

 ____________________________________________

ANTISISMICA CICLO IX-2018

3.2.3.-APLICACIÓN FUERZA DE PULSO

SINUSOIDAL DE MEDIO CICLO

(27)

 ____________________________________________

3.2.4.-GRAFICO FUERZA DE PULSO SINUSOIDAL

DE MEDIO CICLO

Referencias

Documento similar