- MATLAB プログラムのデバッグ
適切でないインデックス行列を参照しています。 エラーについて
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
DebugFiles='C:\MATLAB';
D = dir(DebugFiles);
for i=1:length(D)
% ファイルオープン
fid=fopen(D(i).name);
・
・
・
end
plot(X,Y)
xlabel('a')
ylabel('b')
title('sample')
legend('n')
で「MATLAB」ファイルをリスト化して,そのファイル一つずつに処理を行うプログラムを組んだのですが、
適切でないインデックス行列を参照しています。
エラーの発生場所 T2 (line 67)
fid=fopen(D(i).name);
というエラーが出て、図は表示されるのですが、
軸名やタイトル、凡例が表示されません。 どのような原因が考えられるでしょうか。
0 commentaires
Réponses (1)
mizuki
le 15 Déc 2017
エラーが生じた場合は、まずは課題を分割して原因を突き止めてみてください。
今回の場合、エラーメッセージは「適切でないインデクス行列の参照」になります。インデクスらしきものは、このエラーメッセージの中では
D(i)
の部分になります。 まずは fopen の行にブレークポイントを置いて、ループのインデクス i が何のときにエラーが起こっているか調べてみてください。
ブレークポイントの置き方については以下のドキュメントをご参考にしてください。
なお、予想ですが、dir 関数の出力は . や .. が含まれます。これらを fopen しようとするとエラーが生じるのではないかと思います。この場合、for ループのインデクスの開始数値を3にすれば問題を回避することができます。
4 commentaires
mizuki
le 28 Déc 2017
エラーが起こっているのは i が何のときですか? エラーメッセージから、D(i) あるいは D(i).name でエラーが起こっていると予想できるのですが、3ではなく i のときは試されましたか?
Voir également
Catégories
En savoir plus sur Matrix Indexing dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!