インデックスが配列の次元を超えています。

64 ビュー (過去 30 日間)
taichi muto
taichi muto 2020 年 7 月 23 日
回答済み: Yoko 2020 年 7 月 23 日
添付したファイルのシミュレーションを行おうとしたのですが,以下のような警告文が表示されました。
C の 'int' 型で表せる値が必要です。代わりに 6.54516 が検出されました。 'untitled/MATLAB Function' のエラー (line 11) y=-m*v(v0-v)/(v0*t);
  • インデックスが配列の次元を超えています。インデックス値 6 が、配列 'v' の有効範囲 [1-1] を超えています。 'untitled/MATLAB Function' のエラー (line 11) y=-m*v(v0-v)/(v0*t);
インデックス値がvの1×1の範囲を超えないようにする,あるいは超えたものを無視して実行することは可能でしょうか。
このエラーの回避方法を教えていただきたいです。

採用された回答

Yoko
Yoko 2020 年 7 月 23 日
MATLAB Function 内の記述で下記の式
y=-m*v(v0-v)/(v0*t);
の v(v0-v) が、変数 v の配列として処理しようとして、配列要素番号が整数でないためにエラーが発生しています。単に v と (v0-v) の掛け算でしたら、下記のように記述します。
y=-m*v*(v0-v)/(v0*t);
  1 件のコメント
taichi muto
taichi muto 2020 年 7 月 24 日
ご指摘の通り掛け算の記号を加えたところ,うまくいきました。
私の不注意によるミスに気づいていただき感謝いたします。

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSimulink Function についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

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

Start Hunting!