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

Simscapeでプラントモデリングの接続を行なっていました。
solidworksからインポートしたアセンブリ同士を合体させたところ「インデックスが配列要素数を超えています。」とエラーが表示されました。
原因をご教授願います。

1 Kommentar

Norihiro Kobayashi
Norihiro Kobayashi am 13 Jun. 2024
こんにちは、アセンブリを合体させて発生しているという背景から、SolidWorksから取り込まれた変数名が重複してしまい、いずれかの変数が小さい配列で上書きされたために、発生しているエラーではないかと想像しています。
SolidWorksから変数を取り込む際の変数の命名に関しては、smimportコマンドで一部設定が可能ですので、simimportで改めて取り込む方法で良ければ、対応は可能かもしれません。
smimport('xxx.xml','VariableName','custom_Var_name')
以上参考になりましたら

Melden Sie sich an, um zu kommentieren.

Antworten (1)

Hernia Baby
Hernia Baby am 12 Mär. 2023

0 Stimmen

おそらく入出力の要素数(サイズ)があってません。
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 Kommentare

大輝
大輝 am 13 Mär. 2023
ご回答ありがとうございます。
次元数を確認したところ合っていないところがありました。
solidworksからインポートしたアセンブリ同士を合体させた際に参照先が混ざってしまうようなのですが,解決方法ご存じでしょうか。
Rigid Transformの値「smiData.RigidTransform(22).translation」が合体させたいアセンブリの二つにあるような状態です。
Hernia Baby
Hernia Baby am 16 Mär. 2023
信号がわかるのであればBus等で束ねたりするのはいかがでしょうか?

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Simscape Multibody finden Sie in Hilfe-Center und File Exchange

Produkte

Version

R2022b

Gefragt:

am 10 Mär. 2023

Community Treasure Hunt

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

Start Hunting!