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

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

回答(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!