Need help creating an matrix that includes probability
2 次查看(过去 30 天)
显示 更早的评论
So i am asked to make an matrix that is 96x96. this matrix must have a 5% probability of getting a 0 instead of a 1. i know that when creating the matrix i can write
matrix= ones (96,96)
i just dont know how to implement the random generating
0 个评论
采纳的回答
the cyclist
2019-10-8
There are many ways to generate pseudorandom numbers in MATLAB. Since this sounds like homework, I'll just point you to this documentation page to get you started.
3 个评论
the cyclist
2019-10-8
编辑:the cyclist
2019-10-8
You can certainly do the task using randi. But you are correct that your syntax is not the way.
The syntax
randi(100,96,96)
will generate a 96x96 matrix of numbers, where each one is randomly drawn from 1 to 100.
Can you think of a way to then transform that matrix to one with 0's and 1's, where 95% are 1's (on average)?
You could also do a very simliar method using rand instead of randi.
更多回答(1 个)
Ajay Kumar
2019-10-8
r = randi([0 1],96,96);
zero_count = round(0.05*numel(r));
count = 0;
for i = 1 : 96
for j = 1: 96
if r(i,j) == 0
count = count+1;
if count > zero_count
r(i,j) = 1;
else
end
end
end
end
1 个评论
the cyclist
2019-10-8
I assume Raul meant that each matrix element has a 5% chance of being zero. This method will not yield that.
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!