Вы находитесь на странице: 1из 12

NATIONAL INSTITUTE OF TECHNOLOGY, DURGAPUR

CE: COMPUTATIONAL LABORATORY

PROGRAMING in:

SUBMITTED by: MIAAZA HUSSAIN 10/CE/61

Programming in MATLAB

Exercise 1: MATRIX MULTIPLICATION


Multiply two user input matrix of any size and check if the matrices can be multiplied and display the result CODING IN M FILE clear all clc a=input('Matrix A = ') b=input('Matrix B = ') as=size(a); bs=size(b); % size of matrix represented (row,column) if (as(2)==bs(1)); % here 2 represents the no of columns of matrix A %'Matrix can be multiplied' for i=1:as(1) for m=1:bs(2) sum=0; for j=1:as(2) sum=sum+a(i,j)*b(j,m); end c(i,m)=sum; end end c else input('Matrix cannot be multiplied') end

SOLUTION IN COMMAND WINDOW Matrix A = [5 6 8; 8 9 0; 6 7 8] a = 5 8 6 6 9 7 8 0 8

Matrix B = [7 8 9 0;7 6 5 8;7 7 6 8]

Page 2

Programming in MATLAB

b = 7 7 7 8 6 7 9 5 6 0 8 8

c = 133 119 147 132 118 146 123 117 137 112 72 120

Page 3

Programming in MATLAB

Exercise 2: CHOLESKYS METHOD OF FACTORISATION


Factorization of a square matrix of any size into upper triangular matrix and lower triangular matrix

CODING IN M FILE clear all clc A=input('Enter the square m*m matrix:') as=size(A); m=as(1); for (i=1:m) for(j=1:m) sum=0; c=0; if (i<j) break; elseif(i==j) for (k=1:j-1) sum=sum+(L(j,k))^2; end L(j,j)=((A(j,j)-sum))^0.5; else for(k=1:j-1) c=c+(L(i,k)*L(j,k)); end L(i,j)=(A(i,j)-c)/L(j,j); end end end for(i=1:m) for (j=1:m) U=transpose(L); end end disp('The lower triangular matrix is:') disp(L) disp('The upper triangular matrix is:') disp(U)

Page 4

Programming in MATLAB

SOLUTION IN COMMAND WINDOW Enter the square m*m matrix:[1 3 4 6; 3 5 2 8; 4 2 9 3; 6 8 3 0]

A =

1 3 4 6

3 5 2 8

4 2 9 3

6 8 3 0

The lower triangular matrix is:


1.0000 3.0000 4.0000 6.0000 0 0.0000 + 2.0000i -0.0000 + 5.0000i -0.0000 + 5.0000i 0 0 4.2426 + 0.0000i 0.9428 + 0.0000i 0 0 0 0.0000 + 3.4480i

The upper triangular matrix is:


1.0000 0 0 0 3.0000 0.0000 + 2.0000i 0 0 4.0000 -0.0000 + 5.0000i 4.2426 + 0.0000i 0 6.0000 -0.0000 + 5.0000i 0.9428 + 0.0000i 0.0000 + 3.4480i

Page 5

Programming in MATLAB

Exercise 3: USING CHOLESKY DEPOSITION TO SOLVE SET OF LINEAR EQUATIONS (FORWARD AND BACKWARD SUBSTITUTION)
Solve the following set of equations: 8z+4y+2j+0K=24, 4z+10y+5j+4k=26, 2z+5y+6.5j+4k=26, 0z+4y+4j+9k=21, CODING IN M FILE % A=[8 4 2 0;4 10 5 4;2 5 6.5 4;0 4 4 9] % x=[z;y;j;k] % b=[24;26;26;21] %Ax=b %LUx=B %forward substitution: solve for y-----> Ly=b----> y=inv(L)b %backward substitution: solve for x-----> y=Ux------> x=inv(U) clear all clc A=[8 4 2 0;4 10 5 4;2 5 6.5 4;0 4 4 9] b=[24;26;26;21] as=size(A); m=as(1); %choleski factorization for (i=1:m) for(j=1:m) sum=0; c=0; if (i<j) break; elseif(i==j) for (k=1:j-1) sum=sum+(L(j,k))^2; end L(j,j)=((A(j,j)-sum))^0.5; else for(k=1:j-1) c=c+(L(i,k)*L(j,k)); end L(i,j)=(A(i,j)-c)/L(j,j);

Page 6

Programming in MATLAB

end end end for(i=1:m) for (j=1:m) U=transpose(L); end end %forward substitution y=inv(L)*b %backward substitution x=inv(U)*y

SOLUTION IN COMMAND WINDOW A = 8.0000 4.0000 2.0000 0 b = 24 26 26 21 y = 8.4853 4.9497 6.5000 3.0619 x = 2.4375 -0.1875 2.6250 1.2500 4.0000 10.0000 5.0000 4.0000 2.0000 5.0000 6.5000 4.0000 0 4.0000 4.0000 9.0000

Page 7

Programming in MATLAB

Exercise 4: STODOLAS METHOD for MODAL ANALYSIS OF BUILDING FRAMES


Example problem: Five-story shear plane frame with story-height of 3.0m and single bay of 4.0m The mathematical model consists from squares columns ( 60 60cm 2 ) with infinitely rigid beams ( = beam I ). The entire mass of each story is assumed to be lumped at its level with total value of typical story mass (m = 100kN.sec2/ m). The material of columns and beams has modulus of elasticity equal to ( E = 2.106 kN /m2 ). Assumed damping ratio ( = 0.05). The frame is subjected to dynamic response spectra as defined in UBC97 with assumed design parameters : Seismic zone factor ( Z = 0.3) Soil profile type ( B S )

CODING IN M FILE clear all clc M=[100 0 0 0 0; 0 100 0 0 0; 0 0 100 0 0; 0 0 0 100 0; 0 0 0 0 100]; %kc=2*12EIc E=2*10^6; I=0.0108; %in m^4 h=3; k1=(2*12*E*I)/(h^3); k2=k1;k3=k1;k4=k1;k5=k1; K=[k1 -k1 0 0 0;-k1 k1+k2 -k2 0 0;0 -k2 k2+k3 -k3 0; 0 0 -k3 k3+k4 k4; 0 0 0 -k4 k4+k5]; %mode shapes and omega [modeshape,omega]=eig(inv(M)*K) %determination of frequancy matrix freq=zeros(5); for i=1:5 freq(i,i)=omega(i,i)^0.5; end

Page 8

Programming in MATLAB

freq %in rad/sec % plotting 1st mode shape for i=1:5 for j=1 modeshape1(i,j)=modeshape(i,1); end end y=15:-h:3; x=modeshape1; plot(x,y,'b-') xlabel('Displacement') ylabel('Height') Axis([-0.1,1,0,16]) title('MODAL ANALYSIS(10/CE/61)') SOLUTION IN COMMAND WINDOW modeshape = 0.5969 0.5485 0.4557 0.3260 0.1699 0.5485 0.1699 -0.3260 -0.5969 -0.4557 0.4557 -0.3260 -0.5485 0.1699 0.5969 -0.3260 0.5969 -0.1699 -0.4557 0.5485 0.1699 -0.4557 0.5969 -0.5485 0.3260

omega = 15.5547 0 0 0 0 0 132.5335 0 0 0 0 0 329.3511 0 0 0 0 0 543.5194 0 0 0 0 0 707.0414

freq = 3.9439 0 0 0 0 0 11.5123 0 0 0 0 0 18.1480 0 0 0 0 0 23.3135 0


Page 9

0 0 0 0 26.5902

Programming in MATLAB

Fig: 1st mode shape

Page 10

Programming in MATLAB

Exercise 5: SECOND ORDER DIFFERENTIAL EQUATION BY APPLYING NEWTON RAPHSON METHOD Example problem: Spring mass damper system: Plot the response of a forced system given
by the equation
m + c + kx =f sint For = 0.1; m = 1 kg; k = 100 N/m; F = 100 N; = 2n; x(0) = 2 m;0

Natural frequency n = c/m=2n; c=2 For = 0.1;

= 10 rad/sec

Damped natural frequency d = n = 9.95 rad/sec. Damped time period Td = 2/d = 0.63 sec. (Therefore, for five time cycles the interval should be 5 times the damped time period, i.e., 3.16sec. Since the plots should indicate both the transient and the steady state response, the time interval will be increased) CODING IN M FILE function myode clc clear all [t,x]=ode45(@func,[0 5],[0.02 0]); plot(t,x(:,1),'m-'); xlabel('time'); ylabel('Displacement'); title('ODE45 by Miaaza Hussain, 10/CE/61') function rk=func(t,x) mass=1; omega=9.95; c=2; F=100; k=100; rk=[x(2);(F/mass*sin(omega*t))-(k*x(1)/mass)-(c*x(2)/mass)]; end

Page 11

Programming in MATLAB

SOLUTION IN COMMAND WINDOW

Page 12