我想使用matchUp
编写一个名为randperm
的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)
时,我得到了一个向量。我该怎么办?
答案 0 :(得分:0)
我不确定你是否在问题标题或问题正文中提问,因为它们有点不同。话虽如此,你可以做到
nrows = 2;
ncols = 2;
reshape(randperm(ncols*nrows), [nrows ncols])
从2x2
获取randperm
矩阵。这是有效的,因为randperm
将生成一个n元素向量,其中n是其第一个参数(此处由ncols*nrows
给出)。然后通过reshape
函数将该列向量重新整形为矩阵,其中第二个参数[nrows ncols]
告诉它将向量转换为[nrows x ncols]矩阵。另外,我应该假设这是家庭作业吗?