Using 3x3 matrix to create 21x21 matrix
古いコメントを表示
I have built a 3x3 matrix using the code below
EA = 1;
h = 1;
F = @(xi)(xi-0.5).*(xi-0.5)
k(1,1) =EA/h* 2*quad(F, -1, 1)
F = @(xi)(xi-0.5).*(-2*xi)
k(1,2) = EA/h* 2*quad(F, -1, 1)
F = @(xi)(xi-0.5).*(xi+0.5)
k(1,3) = EA/h* 2*quad(F, -1, 1)
F = @(xi)(-2*xi).*(-2*xi)
k(2,2) =EA/h* 2*quad(F, -1, 1)
F = @(xi)(xi+0.5).*(-2*xi)
k(2,3) = EA/h*2*quad(F, -1, 1)
F = @(xi)(xi+0.5).*(xi+0.5)
k(3,3) = EA/h*2*quad(F, -1, 1)
k(2,1) = k(1,2)
k(3,1) = k(1,3)
k(3,2) = k(2,3)
I want to use the 3x3 matrix above to create a 21x21 matrix following the pattern below

the overlapped elements should be added together, the numbers not in the 3x3 matrix are zero in the bigger matrix...k(4,1)=0 etc..
10 3x3 matrices should be used
I want to use a for loop unless there's another method
1 件のコメント
Walter Roberson
2019 年 11 月 11 日
This was recently discussed in https://www.mathworks.com/matlabcentral/answers/489626-adding-matrices-to-make-bigger-matrix
It is a lot easier and clearer to loop building up the matrix, at least in the case where the different matrices on the diagonal are different.
採用された回答
その他の回答 (0 件)
カテゴリ
ヘルプ センター および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!