我有两个矩阵,第一个具有概率,第二个具有与每个概率对应的功率值,并且都有1行和100列。现在我想在0-1之间生成10000个随机数,与概率进行比较,如果满足一定条件,则应给出相应功率矩阵的输出。我已经编写了代码但是收到错误"矩阵维度必须同意"。任何让我知道我在这里犯的错误。
d
当pra是概率时,pwa就是力量。我想检查随机数,即a是否小于pra的第一个元素,它应该给出pwa的第一个元素的输出。如果没有,它应该检查pra的第二个元素,直到第100个元素。此程序应重复10000次。
答案 0 :(得分:0)
这里有几个问题:
for q=1:1:99
praq=pr(1:1:99);
pwaq=pw(1:1:99);
end
这个循环什么都不做,你一遍又一遍地将相同的值重新分配给praq和pwaq。
if a<praq
此语句仅在a
和praq
为标量时有效,但a
为长度为10,000的向量,praq
为长度为99的向量。
您需要执行类似
的操作 for rand_idx = 1:length(a)
if a(rand_idx) < praq(<something>)
...
end
但是,为了实现您的目标,我建议不要使用if x < y
来查看find
和isempty
函数。