2011-03-08 45 views
1

我想要一個隨機5和1s(每個大致相等的數)的列向量。我可以很容易地通過這樣得到的充分的5和0的列向量:MatLab:高效的列向量處理

rc = 5*(rand(400,1)<0.5)

我相信這是做事情的一個matlab風格的方式。不過,我想避免這樣做:

for y = 1 : length(rc) 
     if rc(i) == 0 
      rc(i) = 1; 
     end   
    end 

,因爲1)我不得不遍歷一遍2)它不是公司的MATLAB像「。任何想法傢伙?謝謝。

回答

4

這將是那麼:

4* (rand(400, 1)< .5)+ 1 
+0

由於吃。我在我的代碼中留下了長變量名,所以只是將您的帖子改爲數字。在最短的時間過去後會接受答案。 – ale 2011-03-08 11:25:21