baixiangnju 发表于 2014-3-6 18:36 
刚才又试了一下,有时候会出现问题
比如如果 r = [18,18]
那么应该用您的code,我们期望得到 m = 2, n ...
那就稍微改改咯,我就以为你的动物数就五个。
那就可以这样
clear;
aniNum = 4 %动物个数
plaNum = 5 %迁出地个数
r = randi(plaNum,1,aniNum)
[m, n] = hist(r,unique(r));
Immi = zeros(1,plaNum); %为了让r中没出现的元素
Immi(n) = m
那么如果r = [18, 18]
就是说此时plaNum = 18,aniNum = 2
那输出的r 就是1×2的,而Immi就是1×18的。如下: