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

添付したファイルのシミュレーションを行おうとしたのですが,以下のような警告文が表示されました。
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일

0 개 추천

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개)

카테고리

도움말 센터File Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품

릴리스

R2020a

질문:

2020년 7월 23일

답변:

2020년 7월 23일

Community Treasure Hunt

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

Start Hunting!