質問: 配列インデックスのエラーメッセージについて 下記のようなプログラムで、エラーメッセージが出ます。どのように直せば良いですか。 >> x=2*pi*(0:0.001:1); >> tic >> for j=0:0.0001:1 y1(j)=cos(x(j)); end 配列インデックスは正の整数または logical 値でなければなりません。 >> time1=toc
回答: matlabaの配列は、cと異なりインデックスは1から始まりますので、配列xの最初の要素はx(1)です。 このため、for文でx(0)を参照したため、エラーとなっています。 以上を参考にコードを見直してみてください。 なお、matlabの強みは、関数の入力として、ベクトルや行列を扱うことができることです。 forを使ったコードができたら、forを使わないで計算する方法も検討してみてください。