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

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

Iniciar sesión para comentar.

Respuestas (1)

Hernia Baby
Hernia Baby el 12 de Mzo. de 2023
おそらく入出力の要素数(サイズ)があってません。
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 comentarios
大輝
大輝 el 13 de Mzo. de 2023
ご回答ありがとうございます。
次元数を確認したところ合っていないところがありました。
solidworksからインポートしたアセンブリ同士を合体させた際に参照先が混ざってしまうようなのですが,解決方法ご存じでしょうか。
Rigid Transformの値「smiData.RigidTransform(22).translation」が合体させたいアセンブリの二つにあるような状態です。
Hernia Baby
Hernia Baby el 16 de Mzo. de 2023
信号がわかるのであればBus等で束ねたりするのはいかがでしょうか?

Iniciar sesión para comentar.

Categorías

Más información sobre Applications en Help Center y File Exchange.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!