2011-08-18 34 views
1

爲了提高向後兼容性,我想將所有的「randi([m,n])」替換爲僅使用rand的函數,因爲早期版本的MATLAB沒有有蘭迪功能。在MATLAB中使用'rand'來實現'randi'

+0

使用[WHICH](HTTP ://www.mathworks.com/help/techdoc/ref/which.html)首先檢查是否存在RANDI函數,以便運行現代MATLAB版本的用戶不要超載。 –

+0

@ b3:我會使用EXIST而不是WHICH:'exist('randi','builtin')== 5' – Amro

+0

順便說一句,這篇文章回答你的問題:http://stackoverflow.com/questions/6415424/using- rand-in-matlab-to-produce-numbers-between-limits/6415698#6415698 – Amro

回答

3

如果你在談論randi(imax,[m,n]),你可以使用類似:

ceil(imax*rand([m,n])) 

如果你的意思randi([imin,imax]),是指在評論中提供的鏈接荷銀:Using rand in matlab to produce numbers between limits

+1

確切地說,'randi([m,n])'表示在區間[m,n]中生成一個數字,它不是與rand([m,n])'相同,它生成一個統一數字爲n的統一數字的大小爲m的矩陣 – Amro

+0

+ +1爲澄清,Amro – Kelly

+0

或者直接從Octave獲取:https://searchcode.com /於codesearch /視圖/ 64615324 / – Anon