-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathch2_5.m
More file actions
39 lines (31 loc) · 1.07 KB
/
ch2_5.m
File metadata and controls
39 lines (31 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
% Chapter 2.5, Problem 1
function ch2_5()
elementNodes = [1 2; 2 3; 2 4]; % element connections
numberElements = size(elementNodes, 1);
numberNodes = 4;
displacements = zeros(numberNodes, 1);
force = zeros(numberNodes, 1);
stiffness = zeros(numberNodes);
force(2) = 10.0;
for e = 1:numberElements
elementDof = elementNodes(e,:);
stiffness(elementDof, elementDof) = ...
stiffness(elementDof, elementDof) + [1 -1; -1 1];
end
prescribedDof = [1; 3; 4];
activeDof = setdiff((1:numberNodes)', prescribedDof);
displacements(activeDof) = ...
stiffness(activeDof, activeDof) \ force(activeDof);
outputDisplacementsReactions(displacements, stiffness, ...
numberNodes, prescribedDof)
end
function outputDisplacementsReactions...
(displacements, stiffness, GDof, prescribedDof)
disp('Displacements')
jj = 1:GDof; format("default")
[jj' displacements]
F = stiffness * displacements;
reactions = F(prescribedDof);
disp('reactions')
[prescribedDof reactions]
end