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!