Arrays 将元素偶数列和奇数列重新排列为一个向量
我有一个向量Arrays 将元素偶数列和奇数列重新排列为一个向量,arrays,matlab,sorting,matrix,columnsorting,Arrays,Matlab,Sorting,Matrix,Columnsorting,我有一个向量A8,其中有两列,这里有两行: 24.0192018449307 48.0192018449307 72.0576055347920 96.0576055347920 我想创建一个新的向量A9,这样我就可以得到一列: 24.0192018449307 48.0192018449307 72.0576055347920 96.0576055347920 我已尝试使用以下循环: for j=1:4 if mod(j,2)~=0 A9(j)=A8(j,
A8
,其中有两列,这里有两行:
24.0192018449307 48.0192018449307
72.0576055347920 96.0576055347920
我想创建一个新的向量A9
,这样我就可以得到一列:
24.0192018449307
48.0192018449307
72.0576055347920
96.0576055347920
我已尝试使用以下循环:
for j=1:4
if mod(j,2)~=0
A9(j)=A8(j,1);
else
A9(j)=A8(j,2);
end
end
显然,这不起作用,因为A8
的大小是2x2,而不是1x4
但我想不出来
我尝试过使用两个循环:
for i=2;
for j=1:4
if mod(j,2)~=0
A9(j)=A8(i,1);
else
A9(j)=A8(i,2);
end
end
end
但是这给了我A9
,它只重复了第二行的两个元素
如何重新排列此矩阵
A = [24.0192018449307 48.0192018449307;
72.0576055347920 96.0576055347920];
B = A.';
B = B(:)
利用MATLAB是基于列的这一事实,因此您可以转置矩阵,然后使用冒号运算符获得单个向量
顺便说一下,使用像A8
和A9
这样的变量名真的很难闻。喜欢动态变量命名不好。稍后,如果给变量起动态名称,或是不清楚的名称,你会遇到很多麻烦
利用MATLAB是基于列的这一事实,因此您可以转置矩阵,然后使用冒号运算符获得单个向量
顺便说一下,使用像
A8
和A9
这样的变量名真的很难闻。喜欢动态变量命名不好。以后,如果给变量起动态名称,或是不清楚的名称,你会遇到很多麻烦。如果你用两个for循环,但不是嵌套的,那该怎么办。在第一行中,将第一行A9(i)=A8(0,i)的值指定给A9。在第二个for中,用这种方式分配它,A9(i+2)=A8(1,i),如果你用两个for循环,但不是嵌套的呢。在第一行中,将第一行A9(i)=A8(0,i)的值指定给A9。在第二个例子中,你可以这样分配它,A9(i+2)=A8(1,i)