MATLAB Answers

Creating Global Stiffness matrix

7 views (last 30 days)
Alpha Boy
Alpha Boy on 4 Jul 2020
Commented: the cyclist on 5 Jul 2020
Hello,
I am quite noob in Matlab. I am trying to add two matrix to create a global stiffness matrx.
k1 =
10150000 -5000000 -3750000 2000000 -6400000 3000000
-5000000 12400000 3000000 -10000000 2000000 -2400000
-3750000 3000000 3750000 0 0 -3000000
2000000 -10000000 0 10000000 -2000000 0
-6400000 2000000 0 -2000000 6400000 0
3000000 -2400000 -3000000 0 0 2400000
k2 =
10150000 -5000000 -3750000 2000000 -6400000 3000000
-5000000 12400000 3000000 -10000000 2000000 -2400000
-3750000 3000000 3750000 0 0 -3000000
2000000 -10000000 0 10000000 -2000000 0
-6400000 2000000 0 -2000000 6400000 0
3000000 -2400000 -3000000 0 0 2400000
I will find a global stiffness matrix(K) (8X8). How can I find this matrix?

  2 Comments

the cyclist
the cyclist on 4 Jul 2020
Do you have any information on the formula you want to use to combine these matrices? You have given us two 6x6 matrices. (Actually, k1==k2, so really only one matrix.) How do you propose to make one 8x8 matrix out of two 6x6? I mean, conceptually, not in MATLAB. We can help you with the MATLAB part, if you help us with the conceptual part.
Alpha Boy
Alpha Boy on 4 Jul 2020
K1 =
k2 =
I have to sum up 2X1 with 2X1, 2X5 with 2X5...

Sign in to comment.

Answers (1)

the cyclist
the cyclist on 5 Jul 2020
If I've understood correctly, then
K = zeros(8);
vec1 = [1 2 3 4 7 8];
K(vec1,vec1) = K(vec1,vec1) + k1;
vec2 = [5 6 7 8 3 4];
K(vec2,vec2) = K(vec2,vec2) + k2;
gives what you want.
Because K starts out as all zeros, the addition with k1 could have been written
K(vec1,vec1) = k1;
but I thought it might be easier to see what was going on this way, and also that k1 and k2 are being treated symmetically.

  3 Comments

Alpha Boy
Alpha Boy on 5 Jul 2020
Yes, you are correct! But how can I do it in Matlab?
the cyclist
the cyclist on 5 Jul 2020
Uh, what? That is literally the exact MATLAB code to do it.
the cyclist
the cyclist on 5 Jul 2020
I'm assuming you've defined k1 and k2, such as
k1 =[
10150000 -5000000 -3750000 2000000 -6400000 3000000
-5000000 12400000 3000000 -10000000 2000000 -2400000
-3750000 3000000 3750000 0 0 -3000000
2000000 -10000000 0 10000000 -2000000 0
-6400000 2000000 0 -2000000 6400000 0
3000000 -2400000 -3000000 0 0 2400000];
k2 = [
10150000 -5000000 -3750000 2000000 -6400000 3000000
-5000000 12400000 3000000 -10000000 2000000 -2400000
-3750000 3000000 3750000 0 0 -3000000
2000000 -10000000 0 10000000 -2000000 0
-6400000 2000000 0 -2000000 6400000 0
3000000 -2400000 -3000000 0 0 2400000];

Sign in to comment.


Translated by