2014-01-05 51 views
-5

我有這個命令有什麼問題[A B] =蘭迪()

[a b]=randi(5,1,2) 

MATLAB告訴我
太多的輸出參數的麻煩。
誰能告訴我我做錯了什麼?

+1

如果你想知道爲什麼它只應該是一個輸出,當你想要兩個數字:你得到的所有數字在一個向量/數組中,而不是單獨的變量。 –

回答

3

原因很明顯,因爲應該只有一個輸出randi()

r = randi(imax,n) 
r = randi(imax,m,n) 
r = randi(imax,[m,n]) 
r = randi(imax,p1,...,pn) 
r = randi(imax,[p1,...,pn]) 
r = randi(imax) 
r = randi(imax,size(A)) 
r = randi([imin,imax],...) 
r = randi(..., classname) 

查看其documentation瞭解更多信息。

+1

只是爲了增加原始問題的特殊性,您可能需要'r = randi(5,1,2); a = r(1); b = r(2);'或者類似的東西。 – adalca

0

正如@hero提到的,你應該得到一個向量作爲輸出randi

如果你真的必須得到它的不同的字母,這裏是它如何做到:

c = num2cell(randi(5,1,2)); 
[a, b] = deal(c{:}); 

不用說,這不是你平時應該要的東西。

相關問題