Matlab 如何生成n×;2带randperm的矩阵
我想使用Matlab 如何生成n×;2带randperm的矩阵,matlab,matrix,Matlab,Matrix,我想使用randperm编写一个名为matchUp的MATLAB函数,该函数返回一个n×2矩阵。如果输入为奇数,则函数应退出并显示解释性消息 以下是n=24的示例输出: matchUp(24) ans = 6 18 19 10 20 4 5 3 11 15 23 12 13 1 21 24 2 22 9 16 7 17
randperm
编写一个名为matchUp
的MATLAB函数,该函数返回一个n×2矩阵。如果输入为奇数,则函数应退出并显示解释性消息
以下是n=24的示例输出:
matchUp(24)
ans =
6 18
19 10
20 4
5 3
11 15
23 12
13 1
21 24
2 22
9 16
7 17
14 8
然而,当我做
randperm(24)
时,我得到一个向量。如何继续?我不确定您是在问题标题还是在问题正文中提问,因为它们有点不同。话虽如此,你也能做到
nrows = 2;
ncols = 2;
reshape(randperm(ncols*nrows), [nrows ncols])
从
randperm
获取2x2
矩阵。这是可行的,因为randperm
将生成一个n元素向量,其中n是它的第一个参数(这里由ncols*nrows
给出)。然后,通过重塑
函数将该列向量重塑为矩阵,其第二个参数[nrows ncols]
告诉它将向量转化为[nrows x ncols]矩阵。另外,我应该假设这是家庭作业吗?这一个似乎有效,我只是将nrows上的2改为12。谢谢