Index in position 3 exceeds array bounds (must not exceed 1).
6 ビュー (過去 30 日間)
古いコメントを表示
I'm currently changing a 2D Truss program to 3D and im not sure how to change line 22. The excel file is attatched if needed

15 件のコメント
Sindar
2020 年 2 月 25 日
Ok, lots of thoughts:
Most likely, K and S(ID,ID,ID) should be 6x6x6.
So, it seems like ID should be 1x6, so that S(ID,ID,ID) is 6x6x6. This implies that either NID gain a third element, or there is another element in the ID pattern from NID(1) and NID(2). I couldn't immediately tell you which, but
NID=MEMBERS(i,1:3)
is easy to implement. Then you can check the sizes of everything again and see if they make sense (and, whether the code errors)
回答 (1 件)
Vimal Rathod
2020 年 2 月 28 日
Going through the comments it is evident that when calling
S(ID,ID,ID) = S(ID,ID,ID) + K;
The size of S(ID,ID,ID) is 4*4*4 and size of K is 6*6 which doesn't match and thus you will be getting a error as:
Array dimensions must match for binary array op.
You must change your code accordingly making sure that the dimensions match.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Structural Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
