0

我想编写一个名为matchUpusing的 MATLAB 函数randperm,它返回一个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)我会得到一个向量。我该如何进行?

4

1 回答 1

0

我不确定您是在问题标题中还是在问题正文中提出问题,因为它们有点不同。话虽如此,你可以做

nrows = 2;
ncols = 2;
reshape(randperm(ncols*nrows), [nrows ncols])

从中获取您的2x2矩阵randperm。这是可行的,因为randperm它将生成一个 n 元素向量,其中 n 是它的第一个参数(这里,由 给出ncols*nrows)。然后通过函数将该列向量重新整形为矩阵reshape,其中它的第二个参数[nrows ncols]告诉它将向量转换为 [nrows x ncols] 矩阵。另外,我应该假设这是家庭作业吗?

于 2013-04-17T04:59:04.703 回答