Index in position 3 exceeds array bounds (must not exceed 1).

6 ビュー (過去 30 日間)
Taylor Davis
Taylor Davis 2020 年 2 月 25 日
回答済み: Vimal Rathod 2020 年 2 月 28 日
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 件のコメント
Taylor Davis
Taylor Davis 2020 年 2 月 25 日
Ok this is what came up when I did that
Sindar
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
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.

カテゴリ

Help Center および File ExchangeStructural Analysis についてさらに検索

タグ

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by