1

行列を変換する必要があります:

X = [1 2; 3 4; 5 6; 7 8]
X = 1 2
    3 4
    5 6
    7 8

X = [1 2; 5 6; 3 4; 7 8]
X = 1 2
    5 6
    3 4
    7 8

そして、任意の数の行を持つ行列に対してこの操作を実行します。したがって、200行の行列では、行101が行2になり、行102が行4になります。MATLABでこれを実現するにはどうすればよいですか?

4

2 に答える 2

2

行数が偶数の配列の場合、次のようにします。

nRows = size(X,1);

idx = [1:nRows/2;nRows/2+1:nRows];

X_rearranged = X(idx(:),:);

行数が奇数の配列の場合は、に1を追加し、代わりにnRowsを使用しますidx(1:end-1)idx(:)

于 2013-03-01T03:08:44.103 に答える
-1

次を使用できます。

X = [1 2; 3 4; 5 6; 7 8]
Y = [a(1,:); a(3,:); a(2,:); a(4,:)]
于 2014-09-25T07:34:29.957 に答える