MATLAB Answers

Translated by

このページのコンテンツは英語から自動翻訳されています。自動翻訳をオフにする場合は「<a class="turn_off_mt" href="#">ここ</a>」をクリックしてください。

G. Nardi

Index exceeds the number of array elements

G. Nardi
さんによって質問されました 2019 年 1 月 16 日
最新アクティビティ G. Nardi
さんによって コメントされました 2019 年 1 月 17 日
I am still in school learning matlab and need some help. I have seen other ones like this but they don't go into what to do with a double.
I loaded a file that has a double 10000x2
and I am getting this error.
Index exceeds the number of array elements (2).
Error in Week2(line 14)
classTwoTrainingIndices = randomizedIndices(1:6000);

  1 件のコメント

Walter Roberson
2019 年 1 月 17 日
It is easier for us to work with code rather than with images of code.

サインイン to comment.





1 件の回答

回答者: Walter Roberson
2019 年 1 月 17 日

randsample() by default is selection without replacement. When you pass in an integer as the first parameter, the implication is to select from 1 to the integer. As you are passing in the same integer as the second parameter, the effect you are going to get is a permutation of the numbers from one to the integer. Since NumberOfClassOneSamples is 2, that is going to be a random permutation of [1 2]... which will give you either [1; 2] or [2; 1] as the answer.
You then try to take the first 6000 entries in that pair of numbers.
In your code each row appears to represent a sample. The number of samples in of data would then be size(ClassOne, 1) not size(ClassOne,2)
Also, classOneTrainingData should be classOne(classOneTrainingIndices, :) because you want all of the entries in the row.

  1 件のコメント

G. Nardi
2019 年 1 月 17 日
Thanks I appreciate the explanation. It was great great help!

サインイン to comment.

Translated by