Arrays 如何添加额外的零角光线

Arrays 如何添加额外的零角光线,arrays,matlab,Arrays,Matlab,我的模拟中有以下问题 A是一个数组24x2。我将把它拆分,得到4或12个数组。这意味着我的第6组或第2组数组。如果我使用偶数的“分割”系数,就可以了。如果是奇数,我不能拆分A[我不能将5或7分组,因为24/5=4*5+4(或5*5-1)或24/7=7*3+3 这就是为什么我要做以下工作: 如果我有24x2并且需要每5次分组: block 1 : A(1,:), A(2,:),A(3,:),A(4,:),A(5,:) block 2 : A(6,:), A(7,:),A(8,:),A(9,:),A

我的模拟中有以下问题

A
是一个数组
24x2
。我将把它拆分,得到4或12个数组。这意味着我的第6组或第2组数组。如果我使用偶数的“分割”系数,就可以了。如果是奇数,我不能拆分
A
[我不能将5或7分组,因为24/5=4*5+4(或5*5-1)或24/7=7*3+3

这就是为什么我要做以下工作:

如果我有
24x2
并且需要每5次分组:

block 1 : A(1,:), A(2,:),A(3,:),A(4,:),A(5,:)
block 2 : A(6,:), A(7,:),A(8,:),A(9,:),A(10,:)
block 3 : A(11,:), A(12,:),A(13,:),A(14,:),A(15,:)
block 4 : A(16,:), A(17,:),A(18,:),A(19,:),A(20,:) 
block 5 : A(21,:), A(22,:),A(23,:),A(24,:), ?
正如您所看到的,第5个块未满,Matlab给了我一个错误。我的想法是创建一个(25,:)=0。对于我的模拟来说,它是可以的。 我将把它模拟为
函数

A=rand(m,n)
w- # number of a vector that i would like group together ( in ex., it is `5`)
我本来打算像上面那样模拟,但后来我注意到它不起作用。因为24/10=2*10+4。所以我应该写些别的东西

我可以找到提示为
r=rem(24,5)
。作为上面的一个例子,MatLab给了我
r=4
。然后我可以找到一个差异
c=w-r=1
,在那之后,我不知道怎么做


你能告诉我如何模拟这样的计算吗?

确定所需的块数,计算填充这些块所需的虚拟行数,并将虚拟行数与实际行数之差的0行数添加到
a
中。既然你没有提到,实际输出应该是什么样的(数组,单元格数组,…),我选择了一个数组

代码如下:

m=24;
n=2;
w=5;
A=兰特(m,n)
%确定块的数量
n_块=天花板(m/w);
%将零行添加到
A(m+1:w*n_块,:)=0
%将文件重塑为所需格式
A=重塑(A.),大小(A,1)/n个块*n个,n个块。'
输出(缩短):

A=
0.9164959   0.1373036
0.5588065   0.1303052
0.4913387   0.6540321
0.5711623   0.1937039
0.7231415   0.8142444
0.9348675   0.8623844
[...]
0.8372621   0.4571067
0.5531564   0.9138423
A=
0.91650   0.13730
0.55881   0.13031
0.49134   0.65403
0.57116   0.19370
0.72314   0.81424
0.93487   0.86238
[...]
0.83726   0.45711
0.55316   0.91384
0.00000   0.00000
A=
0.91650   0.13730   0.55881   0.13031   0.49134   0.65403   0.57116   0.19370   0.72314   0.81424
0.93487   0.86238   0.61128   0.15006   0.43861   0.07667   0.94387   0.85875   0.43247   0.03105
0.48887   0.67998   0.42381   0.77707   0.93337   0.96875   0.88552   0.43617   0.06198   0.80826
0.08087   0.48928   0.46514   0.69252   0.84122   0.77548   0.90480   0.16924   0.82599   0.82780
0.49048   0.00514   0.99615   0.42366   0.83726   0.45711   0.55316   0.91384   0.00000   0.00000

希望这有帮助!

确定所需的块数,计算填充这些块所需的虚拟行数,并将虚拟行数与实际行数之差的0行添加到
A
。因为您没有提到实际输出应该是什么样的(数组、单元格数组,…),我选择了一个数组

代码如下:

m=24;
n=2;
w=5;
A=兰特(m,n)
%确定块的数量
n_块=天花板(m/w);
%将零行添加到
A(m+1:w*n_块,:)=0
%将文件重塑为所需格式
A=重塑(A.),大小(A,1)/n个块*n个,n个块。'
输出(缩短):

A=
0.9164959   0.1373036
0.5588065   0.1303052
0.4913387   0.6540321
0.5711623   0.1937039
0.7231415   0.8142444
0.9348675   0.8623844
[...]
0.8372621   0.4571067
0.5531564   0.9138423
A=
0.91650   0.13730
0.55881   0.13031
0.49134   0.65403
0.57116   0.19370
0.72314   0.81424
0.93487   0.86238
[...]
0.83726   0.45711
0.55316   0.91384
0.00000   0.00000
A=
0.91650   0.13730   0.55881   0.13031   0.49134   0.65403   0.57116   0.19370   0.72314   0.81424
0.93487   0.86238   0.61128   0.15006   0.43861   0.07667   0.94387   0.85875   0.43247   0.03105
0.48887   0.67998   0.42381   0.77707   0.93337   0.96875   0.88552   0.43617   0.06198   0.80826
0.08087   0.48928   0.46514   0.69252   0.84122   0.77548   0.90480   0.16924   0.82599   0.82780
0.49048   0.00514   0.99615   0.42366   0.83726   0.45711   0.55316   0.91384   0.00000   0.00000
希望有帮助

if mod(w,2)==0
   if mod(m,2)==0
       % do....
   else 
       %  remainder = 0
   end
else
    if mod(m,2)==0
       %  remainder = 0
   else 
       %do...
   end