インデックスが配列素数(0)を超えています

31 views (last 30 days)
瞬人 渡邉
瞬人 渡邉 on 15 Oct 2020
Answered: Naoya on 19 Oct 2020
per=randperm(100:20);
for i=1:20
subpulot(4,5,i);
imshow(imds,Files{perm(i)});
と打つと【インデックスが配列素数(0)をこえています】というエラーが出ます。
このエラーの意味がわかりません。
MATLAB2020a
を使用しています。
  1 Comment
stozaki
stozaki on 15 Oct 2020
渡邉 様
幾つか確認させて頂けますか?
  1. permは未定義ですが、perの事でしょうか?
  2. Filesは未定義です。どの様な変数定義をすれば良いでしょうか?
  3. imdsは未定義です。どの様な変数定義をすれば良いでしょうか?
  4. subpulot ➔ subplot という認識で宜しいでしょうか?
  5. for 文 はimshowの直ぐあとで endをして良いですか?
記載頂きましたプログラムだけでは情報が不足しており、エラーの再現が出来ませんでした。
ご確認をお願いいたします。
stozaki

Sign in to comment.

Answers (1)

Naoya
Naoya on 19 Oct 2020
頂きましたコードの1行目
>> per=randperm(100:20);
>> per
per =
1×0 の空の double 行ベクトル
で定義される per が空配列になっているようです。
"100:20" は 100 から 20 まで 1刻みのベクトルを生成するという意味となります。
※ "X:Y" で X が Y よりも大きい場合は空配列となります。

Community Treasure Hunt

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

Start Hunting!