create n k matrix in matlab
Ältere Kommentare anzeigen
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!
Antworten (2)
Walter Roberson
am 15 Sep. 2015
0 Stimmen
Use a cell array or a multidimensional array
2 Kommentare
SAKSHI SINHA
am 15 Sep. 2015
Walter Roberson
am 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
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);
Kategorien
Mehr zu Creating and Concatenating Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!