clear
clc
load('Data.mat')
A = 1;
E = 30*10^6;
Force_vec = [0 -1000 0 0 0 500 0 -500 0 0 0 0]';
%% Length of elements
for i = 1:length(Ele_conn_table(:,1))
node1 = Ele_conn_table(i,2);
node2 = Ele_conn_table(i,3);
x1 = Node_data(node1,2);
y1 = Node_data(node1,3);
x2 = Node_data(node2,2);
y2 = Node_data(node2,3);
Ele_conn_table(i,4) = elelength(x1,x2,y1,y2);
end
%% to find l and m
for i = 1:length(Ele_conn_table(:,1))
node1 = Ele_conn_table(i,2);
node2 = Ele_conn_table(i,3);
x1 = Node_data(node1,2);
y1 = Node_data(node1,3);
x2 = Node_data(node2,2);
y2 = Node_data(node2,3);
[Ele_conn_table(i,5),Ele_conn_table(i,6)] =
findlm(x1,x2,y1,y2,Ele_conn_table(i,4));
end
%% elemental stiffness matrix
for i = 1:length(Ele_conn_table(:,1))
l = Ele_conn_table(i,5);
m = Ele_conn_table(i,6);
le = Ele_conn_table(i,4);
temp = [l^2 m*l -l^2 -m*l; m*l m^2 -m*l -m^2; -l^2 -m*l l^2 m*l;
-m*l -m^2 m*l m^2];
k(i,:,:) = temp*(A*E/le);
end
%% global stiffness matrix
globalk(length(Node_data)*2,length(Node_data)*2) = 0;
for i = 1:length(Ele_conn_table(:,1))
node1 = Ele_conn_table(i,2);
node2 = Ele_conn_table(i,3);
a = node1*2 - 1;
b = node2*2 - 1;
addmat = k(i,:,:);
addmat = squeeze(addmat);
for var1 = 1:2
for var2 = 1:2
globalk(var1-2+node1*2,var2-2+node1*2) =
globalk(var1-2+node1*2,var2-2+node1*2) +
addmat(var1,var2);
globalk(var1-2+node2*2,var2-2+node1*2) =
globalk(var1-2+node2*2,var2-2+node1*2) +
addmat(var2,var1);
globalk(var1-2+node2*2,var2-2+node2*2) =
globalk(var1-2+node2*2,var2-2+node2*2) +
addmat(var1+2,var2+2);
globalk(var1-2+node1*2,var2-2+node2*2) =
globalk(var1-2+node1*2,var2-2+node2*2) +
addmat(var2+2,var1+2);
end
end
end
%%
disp_vec = globalk^-1 * Force_vec; %Nodal Displacements
reaction = globalk*disp_vec - Force_vec; %Nodal reaction forces
%% Plot Truss
for i =1:length(Ele_conn_table(:,1))
node1 = Ele_conn_table(i,2);
node2 = Ele_conn_table(i,3);
x1 = Node_data(node1,2);
y1 = Node_data(node1,3);
x2 = Node_data(node2,2);
y2 = Node_data(node2,3);
x =[x1,x2]; y=[y1,y2];
plot(x,y,'b','linewidth',1.25)
hold on
end
scatter(Node_data(:,2),Node_data(:,3),'filled','k')
xlabel in
ylabel in
Use MAT:AB to code 650:231 M.E. Computational Analysis and Design Finally, give the member force by...