2013-10-02 28 views
0

我在Matlab中是一個noobie的代碼,所以我在我的matlab腳本中輸入'edit randperm',並且我沒有理解[〜,P ]在代碼'[〜,P] = sort(rand(1,n))'' - 這是我顯示的代碼。誰能幫我?從我所理解的[〜,P]的一點看來,似乎將數字轉換爲整數(範圍爲1到n)。但是它在代碼中的分配方式似乎很奇怪。我確實想知道代碼中'〜'和'P'的確切目的是什麼。函數中的「[〜,P]」的含義randperm

(我也很高興,如果任何人對如何正確地寫在計算器這個問題的技巧,我也在這裏新)

回答

1

它使用sort()函數的格式如下:

[B,IX] = sort(A,...) 

記錄here

代字號在

[~,P]=sort(...) 

意味着第一返回值應該被丟棄(以及第二返回值應分配給P)。

[~,P]=sort(rand(1,n))的總體效果是將的數字從1n的隨機置換分配給P

+0

謝謝!確實很有幫助。 –