You are on page 1of 3

Open Ended Lab

Develop the complete MATLAB program to find the reaction and member forces of the
truss.

Matlab Code:
function [k]=f1(coord,e,a)
l=sqrt((coord(2,1)-coord(1,1))^2+(coord(2,2)-coord(1,2))^2);
ls=(coord(2,1)-coord(1,1))/l;
lm=(coord(2,2)-coord(1,2))/l;
k=e*a/l*[ls^2,ls*lm,-ls^2,-ls*lm;ls*lm,lm^2,-ls*lm,-lm^2;-ls^2,-
ls*lm,ls^2,ls*lm;-ls*lm,-lm^2,ls*lm,lm^2];

function[Du,Fu,ULDOF]=f2(K,F,KDOF,KLDOF)
A=size(F);
ULDOF=setdiff(1:A,KLDOF);
Fk=F(ULDOF,:);
K11=K(ULDOF,ULDOF);
K12=K(ULDOF,KLDOF);
K21=K(KLDOF,ULDOF);
K22=K(KLDOF,KLDOF);
Dk=KDOF;
Du=inv(K11)*Fk;
Fk=K11*Du+K12*Dk;
Fu=K21*Du;
end

function [T]=f3(coord,e,a)
l=sqrt((coord(2,1)-coord(1,1))^2+(coord(2,2)-coord(1,2))^2);
ls=(coord(2,1)-coord(1,1))/l;
lm=(coord(2,2)-coord(1,2))/l;
b=e*a/l;
T=b*[1 -1;-1 1]*[ls lm 0 0;0 0 ls lm];

clear all
clc
e=1000;
a=1e-6;

K=zeros(12,12);
coorrd=[0 0;3 3;6 3;9 3;6 -2;3 0];
lmn=[1 2 3 4;3 4 5 6;5 6 7 8;7 8 9 10;1 2 9 10;1 2 11 12;3 4 11 12;5 6 11
12;5 6 9 10];
conn=[1,2;2,3;3,4;4,5;1,5;1,6;2,6;3,6;3,5];
for i=1:9
con=conn(i,:);
coord=coorrd(con,:);
[k]=f1(coord,e,a);
end

F=zeros(12,1);
F(2)=-30;
f(5)=-4
lm=lmn(i,:);
K(lm,lm)=K(lm,lm)+k;
F(4)=-4;
KLDOF=[7;8;10];
KDOF=[0;0;0];
[Du,Fu,ULDOF]=f2(K,F,KDOF,KLDOF);
Fu
Displacements=zeros(12,1);
Displacements(ULDOF,1)=Du;
Displacements(KLDOF,1)=KDOF
for i=1:9
con=conn(i,:);
coord=coorrd(con,:);
[T]=f3(coord,e,a);
lm=lmn(i,:);
MemberForces=T*Displacements(lm)
end

Result:

You might also like