What is wrong with my for loop?
古いコメントを表示
%check for stitching global nxn matrix
elements = 4;
nodes = 5; %nodes
s=3; %size of matrix nxn
k=[1 1 1; 1 1 1; 1 1 1];
size = (s* elements) - (elements-1);
K = zeros(size,size);
K(1:s,1:s) = k(1:s,1:s);
%this fills the matrix with values
for i =2:elements-1
% K((s:((i*s)-(i-1))), (s:((i*s)-(i-1)))) = k(1:s,1:s);
for j = 1:elements-1
K((j*s-j-1):(i*s-i-1), (j*s-j-1):(i*s-i-1)) = k(1:s,1:s);
end
% K((s:((2*s)-(2-1))), (s:((2*s)-(2-1)))) = k(1:s,1:s);
% K((s:((3*s)-(3-1))), (s:((3*s)-(3-1)))) = k(1:s,1:s);
%K(s:((j*s)-(j-1)),s:((j*s)-(j-1))) = k(1:s,1:s);
% K(s:5,s:5) = k(1:s,1:s);
% K(5:7,5:7) = k(1:s,1:s);
% K(7:9,7:9) = k(1:s,1:s);
end
%this adds matrix elements at stitching location
for i = 1:elements-1
K(((i*s)-(i-1)), ((i*s)-(i-1))) = k(1,1)+k(s,s);
end
K
the lines including K(s:5,s:5) to K(7:9,7:9) was my verification to see if the matrix was right and it is. the code above in the for loops should give me the same answers as these but I keep getting an error saying unable to perform assignment because the size of the left matrix doesnt match the right
this is the error I recieve:
Unable to perform assignment because the size of the left side is 1-by-1 and the size of the right side is
3-by-3.
4 件のコメント
Kyle McLaughlin
2020 年 10 月 28 日
madhan ravi
2020 年 10 月 28 日
Why did you delete your question?
Kyle McLaughlin
2020 年 10 月 28 日
Kyle McLaughlin
2020 年 10 月 29 日
編集済み: Kyle McLaughlin
2020 年 10 月 29 日
採用された回答
その他の回答 (1 件)
It seems clear that when i=j, the left hand side of
K((j*s-j-1):(i*s-i-1), (j*s-j-1):(i*s-i-1)) = k(1:s,1:s);
will be 1x1 whereas the right hand side will always be 3x3. Generally speaking, the size of the left hand side is changing in a highly i,j-dependent way whereas the right hand side is not.
3 件のコメント
Kyle McLaughlin
2020 年 10 月 28 日
Matt J
2020 年 10 月 29 日
I'm not sure what you are trying to achieve. If the idea is just to make tiled copies of k, then youcould just use repmat
K=repmat(k,elements,elements)
Kyle McLaughlin
2020 年 10 月 29 日
編集済み: Kyle McLaughlin
2020 年 10 月 29 日
カテゴリ
ヘルプ センター および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!