Use numbers in a matrix to call vector row
2 次查看(过去 30 天)
显示 更早的评论
I have the code
prand = rand(100,100);
P = 1+round(prand*999);
P2 = P(samparray,1); % this part doesn't work
where samparray is a 1000x1 array of numbers
So we have a matrix P of randomly generated integers (between 1 and 1000). Each number in P corresponds to a row in samparray, and I want P2 to return the corresponding values in samparray into the form of matrix P. How can I modify P2 to do this?
Thanks
0 个评论
采纳的回答
Michael Haderlein
2014-9-30
P2=P(samparray);
should work.
1+round(prand*999) isn't the best way to get randomly distributed integers between 1 and 1000 as the probability of 1 and 1000 (the limits) is lower than for the other values. Better would be 1+fix(prand*1000) or randi(1000,100,100).
0 个评论
更多回答(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!