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

조회 수: 65 (최근 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 CenterFile Exchange에서 Simulink Function에 대해 자세히 알아보기

제품


릴리스

R2020a

Community Treasure Hunt

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

Start Hunting!