一般に、この問題には次の 3 つの理由があります。
1. for ループ内のステップ サイズの不適切な設定
この問題は、ステップ サイズが整数ではなく、各ステップのステップ サイズを呼び出す必要がある場合に発生します。
好き:
for a=1:0.1:5
h(a)=(0.8).^a.*jy(0,-10,10);
end
このうち、a は整数しか取れず、このときステップサイズが小数に設定されているためエラーが発生します。
2. 演算ステートメントに演算子がありません
この問題の理由は非常に単純ですが、見落とされがちです。
好き:
s = b*A(sigma-delt);
このうち、Aと括弧の間に演算子がないことがエラーとなっていましたので修正後:
s = b*A*(sigma-delt);
3. インデックス範囲外のインデックス
たとえば、配列に数値が 10 個しかない場合、コードは 11 番目の要素にアクセスし、エラーが発生します。