将nx1列矩阵转换为√nx√n方阵

时间:2016-04-30 11:55:35

标签: matlab matrix

我想将nx1列矩阵转换为√nx√n方阵 e.g;

鉴于9x1矩阵:

A = 10
     9
     8
     7
     6
     5
     4
     3
     2

我想将其转换为3x3矩阵:

10    9    8
 7    6    5
 4    3    2

2 个答案:

答案 0 :(得分:2)

这可以使用reshape函数实现,如下所示:

B = reshape(A, [3 3]).'

答案 1 :(得分:0)

这是另一种选择:

a = (1:9).';
n = size(a,1)^0.5;
A(n,n) = 0;
A(:) = a(:);

如果已经定义了结果矩阵的大小n,那么速度会更快,因此您可以在不定义A(3,3) = 0的情况下编写n