我在 Matlab 中有点菜鸟,所以我在我的 matlab 脚本中输入了“edit randperm”,但我不明白代码中 [~,P] 的含义 '[~,P]=sort(rand(1, n))'——这是显示给我的代码。谁能帮我?从我所了解的一点点来看,[~,P] 似乎将数字变成了整数(范围为 1 到 n)。但是它在代码中的赋值方式似乎很奇怪。而且我确实想知道代码中“~”和“P”的确切目的是什么。
(如果有人有关于如何在stackoverflow上正确写这个问题的提示,我也会很高兴。我也是新来的)
我在 Matlab 中有点菜鸟,所以我在我的 matlab 脚本中输入了“edit randperm”,但我不明白代码中 [~,P] 的含义 '[~,P]=sort(rand(1, n))'——这是显示给我的代码。谁能帮我?从我所了解的一点点来看,[~,P] 似乎将数字变成了整数(范围为 1 到 n)。但是它在代码中的赋值方式似乎很奇怪。而且我确实想知道代码中“~”和“P”的确切目的是什么。
(如果有人有关于如何在stackoverflow上正确写这个问题的提示,我也会很高兴。我也是新来的)
这使用以下形式的sort()
函数:
[B,IX] = sort(A,...)
记录在这里。
中的波浪号
[~,P]=sort(...)
意味着第一个返回值应该被丢弃(并且第二个返回值应该分配给P
)。
的总体效果[~,P]=sort(rand(1,n))
是分配给从到P
的数字的随机排列。1
n