I cant CREATE array the rand() in for loop..... Firstly, generate 72 bit binary number in 20 times. After, i need use the second, tenth or fifth generated random binary number.
1 回表示 (過去 30 日間)
古いコメントを表示
But, error:
In an assignment A(I) = B, the number of elements in B and I must be the same.
Error in ga_function2 (line 9)
random_chromosome(popSize) = round(rand(1, 72));
random_chromosome = [1;20];
for popSize = 1 : 1 : 20
random_chromosome(popSize) = round(rand(1, 72));
end
0 件のコメント
採用された回答
Stephen23
2016 年 1 月 6 日
編集済み: Stephen23
2016 年 1 月 6 日
Because popSize is scalar, the code
random_chromosome(popSize)
refers to one element of the array random_chromosome, but rand(1, 72) is an array with 72 elements.
You are trying to fit seventy-two elements into the space of one element in a matrix, which obviously does not fit and causes the error. One better solution would be to avoid that inefficient loop altogether:
X = randi(2,20,72)-1;
produces a matrix X of size 20x72, where each row corresponds to one of your "random binary number". For example the second number is simply the second row:
X(2,:)
You can learn more about basic MATLAB usage by doing these tutorials:
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!