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

21 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 よりも大きい場合は空配列となります。

Categories

Find more on Matrix Indexing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!