我想问一个关于Matlab程序的问题.
我有矢量 a
a = [1 2 3 4 5 6 7 8 9 10 11 12];
Run Code Online (Sandbox Code Playgroud)
我想将矢量转换a为2D数组.通常,我使用此代码进行转换.
m =1;
for i=1:4
for j=1:3
b(i,j) = a(m);
m=m+1;
end
end
Run Code Online (Sandbox Code Playgroud)
然后b是2D矩阵.
b =
1 2 3
4 5 6
7 8 9
10 11 12
Run Code Online (Sandbox Code Playgroud)
任何人都有想法在不使用循环的情况下将1D转换为2D.
谢谢,
mat*_*fee 15
查看reshape功能和帮助页面.
特别是,
B = reshape(A,m,n)
Run Code Online (Sandbox Code Playgroud)
返回m-by- nmatrix,B其元素是从列中获取的A.如果A没有m*n元素,则会产生错误.
请注意,它是逐列的,所以我建议你制作一个包含3行和4列的矩阵,然后将它放在一边(A.'将采用矩阵的转置).