create n k matrix in matlab

1 view (last 30 days)
SAKSHI SINHA
SAKSHI SINHA on 15 Sep 2015
Edited: Thorsten on 15 Sep 2015
i need to make n stiffness matrix...
k1=E1*A1/L1* [1 -1; -1 1];
K2=E2*A2/L2* [1 -1; -1 1];
K3...
K4...
..
.
.
KN=EN*A2/LN[1 -1; -1 1]
I TRIED THIS:
for i=1:1:NE
K(i)=(E(i)*A(i)/L(i)) .* [1 -1; -1 1]
end
where i have defined matrix E A and L but i am not getting it. help me please!

Answers (2)

Walter Roberson
Walter Roberson on 15 Sep 2015
  2 Comments
SAKSHI SINHA
SAKSHI SINHA on 15 Sep 2015
thank you sir, but could u please elaborate a little?
Walter Roberson
Walter Roberson on 15 Sep 2015
for i=1:1:NE
K{i}=(E{i}*A{i}/L{i}) .* [1 -1; -1 1];
end
Are you certain, by the way, that you want matrix division (E{i}*A{i}) * inv(L{i}) ? If you want element-by-element division use ./ instead of /
for i=1:1:NE
K{i}=(E{i}*A{i}./L{i}) .* [1 -1; -1 1];
end

Sign in to comment.


Thorsten
Thorsten on 15 Sep 2015
Edited: Thorsten on 15 Sep 2015
If E, A, L are matrices and the ith stiffness matrix is just the scalar s = E(i)*A(i)/L(i)) multiplied with matrix [1 -1; -1 1], you can generate your N stiffness matrices as
S = E.*A./L;
T = [1 -1; -1 1];
K = reshape(T(:)*S(:)', 2, 2, numel(S));
with the ith stiffness matrix given by
Ki = K(:,:,i);

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!