unable to get desired results
1 回表示 (過去 30 日間)
古いコメントを表示
Please find the below code.
User = zeros(1,10);
for i = 1:10
probability_of_transmission = rand(1);
if probability_of_transmission > p
j = 5;
User(i) = 1;
else
User(i) = 0;
end
end
I just want the output to be somewhat like: User = [ 0 0 0 1 1 1 1 1 0 0 ]. How can i put one more if argument in the for loop so that at the end i will get consecutive ones insetead of ones at random index.
4 件のコメント
Abderrahim. B
2022 年 7 月 13 日
and what does that j doing there in your loop ? With using rand to compute probability_of_transmission you can't get the User vector you want.
採用された回答
Voss
2022 年 7 月 13 日
Maybe this?
User = zeros(1,10);
p = 0.785;
for i = 1:10
probability_of_transmission = rand(1);
if probability_of_transmission > p
j = 5;
User(i+(0:j-1)) = 1;
end
end
User
Note that the sequences of 5 ones may overlap each other and may also extend User to beyond 10 elements; it's not clear whether those aspects would be bugs or features for what you want to do.
その他の回答 (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!