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

56 vues (au cours des 30 derniers jours)
taichi muto
taichi muto le 23 Juil 2020
Réponse apportée : Yoko le 23 Juil 2020
添付したファイルのシミュレーションを行おうとしたのですが,以下のような警告文が表示されました。
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の範囲を超えないようにする,あるいは超えたものを無視して実行することは可能でしょうか。
このエラーの回避方法を教えていただきたいです。

Réponse acceptée

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

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Simulink Function dans Help Center et File Exchange

Produits


Version

R2020a

Community Treasure Hunt

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

Start Hunting!