「インデックスが配列​要素数を超えています​。」とエラーが出ます​。

조회 수: 231 (최근 30일)
大輝
大輝 2023년 3월 10일
댓글: Norihiro Kobayashi 2024년 6월 13일
Simscapeでプラントモデリングの接続を行なっていました。
solidworksからインポートしたアセンブリ同士を合体させたところ「インデックスが配列要素数を超えています。」とエラーが表示されました。
原因をご教授願います。
  댓글 수: 1
Norihiro Kobayashi
Norihiro Kobayashi 2024년 6월 13일
こんにちは、アセンブリを合体させて発生しているという背景から、SolidWorksから取り込まれた変数名が重複してしまい、いずれかの変数が小さい配列で上書きされたために、発生しているエラーではないかと想像しています。
SolidWorksから変数を取り込む際の変数の命名に関しては、smimportコマンドで一部設定が可能ですので、simimportで改めて取り込む方法で良ければ、対応は可能かもしれません。
smimport('xxx.xml','VariableName','custom_Var_name')
以上参考になりましたら

댓글을 달려면 로그인하십시오.

답변 (1개)

Hernia Baby
Hernia Baby 2023년 3월 12일
おそらく入出力の要素数(サイズ)があってません。
MATLABでのエラーでいうとこんな感じです。
a = zeros(1,10)
a = 1×10
0 0 0 0 0 0 0 0 0 0
size(a)
ans = 1×2
1 10
a(11)
Index exceeds the number of array elements. Index must not exceed 10.
サイズが10こまでなのに11番目なんかないぞ。
つまりインデックス(11)が要素数(10)を超えているぞって言ってます。
-----
デバッグ > 診断 > 情報のオーバーレイ > 信号 > 信号の次元
で次元数を表示してみてください。
もしくはDisplayブロックで確認するのもありです。
  댓글 수: 2
大輝
大輝 2023년 3월 13일
ご回答ありがとうございます。
次元数を確認したところ合っていないところがありました。
solidworksからインポートしたアセンブリ同士を合体させた際に参照先が混ざってしまうようなのですが,解決方法ご存じでしょうか。
Rigid Transformの値「smiData.RigidTransform(22).translation」が合体させたいアセンブリの二つにあるような状態です。
Hernia Baby
Hernia Baby 2023년 3월 16일
信号がわかるのであればBus等で束ねたりするのはいかがでしょうか?

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Applications에 대해 자세히 알아보기

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!