在matlab中,如何在不使用循环的情况下以矩阵形式生成1:n?例如,当n = 6时,我想要[1 2; 3 4; 5 6]而不是[1 2 3 4 5 6]

law*_*ght 2 matlab

在MATLAB中,如何在不使用循环的情况下以2x(n/2)矩阵形式生成数字1:n?例如n=6,我想要[1 2;3 4;5 6]而不是[1 2 3 4 5 6].

bra*_*nkz 7

你需要使用reshape功能:

n = 10;
reshape(1:n,2,[])'

ans =

     1     2
     3     4
     5     6
     7     8
     9    10
Run Code Online (Sandbox Code Playgroud)