Matlab объединяет элементы матрицы - PullRequest
0 голосов
/ 12 октября 2018

У меня есть матрица nxm с двоичными данными, что-то вроде этого:

A=   2     2     2     2
     3     3     3     3
     0     0     0     0
     0     0     0     0
     3     3     3     3
     2     2     2     2
     0     0     0     0
     1     1     1     1

Я хочу объединить каждый x элемент каждой строки в A , чтобыполучить матрицу как:

x=2
A= 22   22
   33   33
   00   00
   00   00
   33   33
   22   22
   00   00
   11   11

Можете ли вы помочь с этим?

1 Ответ

0 голосов
/ 12 октября 2018

То, что вы хотите сделать, это строковая операция.Итак, начните с создания A матрицы строк

B = string(A);

Теперь вы можете объединить каждый элемент x с помощью join

x = 2;
n = size(A,2)/x;
for i = 1:n
    C(:,i) = join(B(:,(i-1)*x+1:i*x),'',2)
end

Наконец, вы можете снова сделать его числами

D = double(C);

Обратите внимание, что при этом я предполагаю, что x делит size(A,2).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...