ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

SimulinkコミュのSelectorブロックについて

  • mixiチェック
  • このエントリーをはてなブックマークに追加
どなたかご経験があったらアドバイスをいただけないでしょうか。
Selectorブロックを使用していて困ったerrorが起きております。

=====error メッセージ=====================
xxxx/xxxx/xxxx/Selectorの端子2の要素1は、値1858880をもちます。この値は、ブロックが選択可能な有効な入力データ要素の値の範囲(1から88)ではありません
=======================================

やろうとしている操作は、88行8列の行列データの中から1行8列のデータに絞り込むという内容です。
88行8列の行列データはWorkspaceから読みこんだ固定値です。
絞り込みたい1行のインデックスは時間とともに変動します。そのため、行indexのソースはexternalと設定しています。

よって、
端子1:88行8列の行列
端子2:行index
が入力されるようになっております。

端子2に実際に入力する事前に、行indexの取り得る値をScopeで観測済みでして、確実に1〜88の値になることを確認しております。にもかかわらず、Selectorブロックに接続するとこのようなerrorが発生してしまいます。


ちなみに、MATLAB6 release13という少々古いものを使用しております。

どなたか、ご存知でしたらご教示ください。

コメント(1)

状況が改善したので自己レスします.
端子2:行index
には当然整数を代入するのですが,
ある割り算の商でindexが確定するようなものを扱っておりました.

[倍制度浮動小数点の除算]-->[intデータ変換]-->selector端子2
のような結線がされておりました.

このやりかたで割り算の商の整数部分を取り出しますと,
一見scopeなどで確認するとは期待される値が取り出されているように見えるのですが,
内部的にはおかしな値を持ってしまっているようで,
それがselectorに接続された時に悪さが表面化したようです.

そういうわけで,真の解決方法はわからなかったのですが,
除算をsimulinkで組むのをやめて問題の箇所周辺をs-functionにしてしまうことで
とりあえず支障がなくなりました.

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

Simulink 更新情報

Simulinkのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。

人気コミュニティランキング