Random number between 0 and the value of another variable
2 次查看(过去 30 天)
显示 更早的评论
Hello, Is there an easy way for me to set the value of a one variable as a restriction when generating a random number? Specifically, what I want to do is:
1. "p" is generated as a random number between 0 and 1
2. Generate another variable "q", but there is a restriction that p+q < 1. Since I determined the value of p in the previous step, I'd like q to be something like rand(1-p), but obviously the rand function requires that size inputs must be integers.
Is there a clever way to do this? What I've thought of is making an if statement to check that p + q < 1 before proceeding to the next steps of the code (and repeat the rand function if q happens to be too large), but I thought there may be a simpler solution.
Thanks!
SY
0 个评论
采纳的回答
更多回答(1 个)
ANKUR KUMAR
2017-12-31
As per my knowledge, there is no any predefined function which do your work. You can write the script as well or you can write function for your convenience.
clc
clear
A=rand(5)
[x y]=find(A>0.5);
while length(x)>0
for i=1:length(x)
A(x(i),y(i))=rand(1);
end
[x y]=find(A>0.5);
end
A
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Random Number Generation 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!