0% encontró este documento útil (0 votos)
70 vistas14 páginas

Matlab Iteraciones

Este documento presenta un ejercicio de métodos numéricos para ingenieros civiles que involucra calcular el modo fundamental de vibración de una estructura mediante iteración inversa. Se definen las matrices de rigidez y masa y se aplica el método iterativo para encontrar el autovalor y autovector fundamental. El resultado se verifica usando el comando "eig" en MATLAB.

Cargado por

Kevin Pozo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
70 vistas14 páginas

Matlab Iteraciones

Este documento presenta un ejercicio de métodos numéricos para ingenieros civiles que involucra calcular el modo fundamental de vibración de una estructura mediante iteración inversa. Se definen las matrices de rigidez y masa y se aplica el método iterativo para encontrar el autovalor y autovector fundamental. El resultado se verifica usando el comando "eig" en MATLAB.

Cargado por

Kevin Pozo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Nombre: Kevin Ricardo Proaño Viscarra

Catedrático: Dr. Pablo Caiza

Asignatura: Introducción a Métodos Numéricos para Ingenieros civiles

Ejercicios para resolver en deber:

 Calcular el modo fundamental de vibración [Vector + Valor Propios] por el proceso de


iteración inversa. (Deber#1).
 Comprobar con el comando “Eig”. (Deber#2).
 Verificar con la programación del archivo mat_ex_15_1_inv.m

DEBER #1

 1.- Calcular el modo fundamental de vibración [Vector + Valor Propios] por el proceso
de iteración inversa. (Deber#1). A Continuación, se presenta la siguiente figura:

Figura 1.- Ejercicio Planteado en Deber

1.1.- Determinamos matriz de Rigidez y Masa

9 -4 0 0 0

-4 7 -3 0 0

K= 0 -3 6 -3 0

0 0 -3 7 -4

0 0 0 -4 9

1 0 0 0 0

0 2 0 0 0

M= 0 0 3 0 0

0 0 0 2 0

0 0 0 0 1

1.2.- Procedo a Usar Matlab, aplicando el método de Iteración Inversa:


 Ingreso de Matrices K y M
K= [9,-4,0,0,0; -4,7,-3,0,0;0,-3,6,-3,0;0,0,-3,7,-4;0,0,0,-4,9]

K=

9 -4 0 0 0

-4 7 -3 0 0

0 -3 6 -3 0

0 0 -3 7 -4

0 0 0 -4 9

>> M= [1,0,0,0,0;0,2,0,0,0;0,0,3,0,0;0,0,0,2,0;0,0,0,0,1]

M=

1 0 0 0 0

0 2 0 0 0

0 0 3 0 0

0 0 0 2 0

0 0 0 0 1

 Determinamos Matriz D
D= inv(K)*M

D=

0.1745 0.2851 0.3000 0.1149 0.0255

0.1426 0.6415 0.6750 0.2585 0.0574

0.1000 0.4500 1.1750 0.4500 0.1000

0.0574 0.2585 0.6750 0.6415 0.1426

0.0255 0.1149 0.3000 0.2851 0.1745


 Asignamos Matriz U0
>> U0=[1;1;1;1;1]

U0 =

 INICIAMOS PROCESO DE ITERACIÒN

>> V1= D*U0

V1 =

0.9000

1.7750

2.2750

1.7750

0.9000

>> U1= 0.439*V1

U1 =

0.3951

0.7792

0.9987

0.7792

0.3951

>> V2= D*U1

V2 =

0.6903

1.4545

1.9538

1.4545

0.6903
>> U2= 0.511*V2

U2 =

0.3528

0.7432

0.9984

0.7432

0.3528

>> V3= D*U2

V3 =

0.6674

1.4134

1.9126

1.4134

0.6674

>> U3= 0.522*V3

U3 =

0.3484

0.7378

0.9984

0.7378

0.3484

>> V4= D*U3

V4 =

0.6643

1.4076

1.9068

1.4076

0.6643
>> U4= 0.5244*V4

U4 =

0.3484

0.7381

0.9999

0.7381

0.3484

>> V5= D*U4

V5 =

0.6649

1.4089

1.9089

1.4089

0.6649

>> U5= 0.523*V5

U5 =

0.3477

0.7369

0.9983

0.7369

0.3477

>> V6= D*U5

V6 =

0.6638

1.4066

1.9058

1.4066
0.6638

>> U6= 0.524*V6

U6 =

0.3478

0.7371

0.9986

0.7371

0.3478

>> V7= D*U6

V7 =

0.6640

1.4070

1.9063

1.4070

0.6640

>> U7= 0.524*V7

U7 =

0.3479

0.7373

0.9989

0.7373

0.3479

>> V8= D*U7


V8 =

0.6642

1.4074

1.9068

1.4074

0.6642

>> U8= 0.524*V8

U8 =

0.3480

0.7375

0.9992

0.7375

0.3480

>> V9= D*U8

V9 =

0.6644

1.4078

1.9074

1.4078

0.6644

>> U9= 0.524*V9

U9 =

0.3481

0.7377

0.9995

0.7377

0.3481
>> V10= D*U9

V10 =

0.6645

1.4082

1.9079

1.4082

0.6645

>> U10= 0.524*V10

U10 =

0.3482

0.7379

0.9997

0.7379

0.3482

>> V11= D*U10

V11 =

0.6647

1.4086

1.9084

1.4086

0.6647

>> U11= 0.524*V11

U11 =

0.3483

0.7381

1.0000

0.7381

0.3483
1.3.- Cuadro De Resumen

Cuadro de Resumen
U0 V1 U1 V2 U2 V3 U3 V4 U4 V5 U5 V6 U6
1 0.9 0.3951 0.6903 0.35275735 0.66 0.3483644 0.66 0.3483576 0.664 0.34774114 0.663 0.34774114
1 1.770 0.779225 1.450 0.74323002 1.41 0.73778507 1.4 0.73813403 1.408 0.7368698 1.406 0.7368698
1 2.27 0.998725 1.953 0.99840426 1.91 0.99836858 1.906 0.99990627 1.908 0.99834529 1.905 0.99834529
1 1.770 0.779225 1.45 0.74323002 1.41 0.73778507 1.4 0.73813403 1.408 0.7368698 1.406 0.7368698
1 0.9 0.3951 0.690 0.35275735 0.66 0.3483644 0.66 0.3483576 0.664 0.34774114 0.663 0.34774114

V7 U7 V8 U8 V9 U9 V10 U10 V11 U11


0.66 0.34792668 0.664 0.34802311 0.664 0.34811968 0.664 0.34821629 0,664719338143435
0.348312933
1.407 0.73726916 1.407 0.7374736 1.407 0.73767825 1.4 0.73788298 1,408564437737460.738087765
1.906 0.99891081 1.96 0.99918824 1.907 0.99946557 1.907 .99974 1,90843591744739 1
1.407 0.73726916 1.407 0.7374736 1.407 0.73767825 1.4 0.73788298 1,408564437737460.738087765
0.664 0.34792668 0.664 0.34802311 0.66 0.34811968 0.664 0.34821629 0,664719338143434
0.348312933

2.1.- Comprobación Utilizando el Comando EIG:

>> [V, D]=eig(K, M)

V=

0.1496 -0.2752 -0.2501 -0.6514 0.6443

0.3170 -0.4606 -0.3299 0.1946 -0.2017

0.4295 0.0000 0.3828 -0.0000 0.0489

0.3170 0.4606 -0.3299 -0.1946 -0.2017

0.1496 0.2752 -0.2501 0.6514 0.6443

D=

0.5239 0 0 0 0

0 2.3051 0 0 0

0 0 3.7239 0 0

0 0 0 10.1949 0

0 0 0 0 10.2522

La diferencia entre la interacción inversa y usando el comando “eig” es 0.5239-0.524= 0.0001


Correcciones
Especificación Valor
ʎ1= 0.439
ʎ2= 0.511
ʎ3= 0.522
ʎ4= 0.524
ʎ5= 0.523
ʎ6= 0.524
ʎ7= 0.524
ʎ8= 0.524
ʎ9= 0.524
ʎ10= 0.524
ʎ11= 0.524

3.- Verificar con la programación del archivo mat_ex_15_1_inv.m


>> %

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%

% Fundamentals of Structural Dynamics

% Roy Craig and Andrew Kurdila

% September 4, 2004

% Now MATLAB Exercise 1 in SD2ch15. Was Example 16.1.

% Converted to Chapt. 15 on 3/6/05.

% Calculation of the Fundamental Mode in Example 16.1 by the

% Inverse Iteration Method

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%

% Create the stiffness and mass matrix as defined in Example 16.1

clear all;

K=[9,-4,0,0,0;-4,7,-3,0,0;0,-3,6,-3,0;0,0,-3,7,-4;0,0,0,-4,9];

M=[1,0,0,0,0;0,2,0,0,0;0,0,3,0,0;0,0,0,2,0;0,0,0,0,1];

% ouptut the formatted matrix for the user

disp('The stiffness matrix is defined in the example to be')


K

disp('The mass matrix is defined in the example to be ')

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%

% create a similar matrix (one with the same eigenvalues)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%

lt=chol(M);

A=inv(lt.')*K*inv(lt);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%

% iterate for the fundamental eigenvalue

U0=[1;1;1;1;1];

lam0=1.;

epsilon=1.e-7;

[lam,vec]=inviter(A,U0,lam0,epsilon);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%

% Test the iteration

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%

disp('The approximation to the fundamental eigenvalue is ')

lam

disp('The approximation to the fundamental mode is ')

vec=lt*vec

The stiffness matrix is defined in the example to be

K=

9 -4 0 0 0

-4 7 -3 0 0

0 -3 6 -3 0

0 0 -3 7 -4
0 0 0 -4 9

The mass matrix is defined in the example to be

M=

1 0 0 0 0

0 2 0 0 0

0 0 3 0 0

0 0 0 2 0

0 0 0 0 1

error =

0.6189

error =

0.3184

error =

0.0364

error =

0.0051

error =

7.2278e-04

error =

1.0209e-04

error =

1.4386e-05
error =

2.0250e-06

error =

2.8493e-07

error =

4.0085e-08

The approximation to the fundamental eigenvalue is

lam =

0.5239

The approximation to the fundamental mode is

vec =

0.2011

0.8523

1.7321

0.8523

0.2011

4.- Conclusiones:
- Mediante la corrección obtenida por el método “eig” es similar a la que se calcula con
la programación base y se puede establecer que, en todo el proceso, es correcto.
- Mediante la Programación que realice, me coincide el valor de Lam, pero tengo dudas
en la programación de Matlab sobre los otros resultados.
Comando de Cholesky:

[V,D,W]=eig(A)

A= inv(M)*K

Para grafica mucho ojo

Graphics.
Taylor
Coordenadas para plotear después de end:

x1=ti
y1=x(:,1)
plot(x1,y1)

Grafica roja
plot(x1,y1,'r*-')

También podría gustarte