Оператор == всегда предназначен для сравнения ссылок на объекты, тогда как метод сравнения строк .equals () переопределяется для сравнения содержимого:
String s1 = new String("abc");
String s2 = new String("abc");
System.out.println(s1 == s2); // It prints false (reference comparison)
System.out.println(s1.equals(s2)); // It prints true (content comparison)
Как это?
% Input block size.
ibs = 3;
% Input.
input = [ 1 * ones(ibs); 2 * ones(ibs); 3 * ones(ibs); 4 * ones(ibs) ]
% Determine block size.
bs = size(input, 2);
% Check format.
if (size(input, 1) != 4 * bs)
disp('Wrong format.');
end
% Transpose input.
input = input.';
% Generate output.
output = [input(1:bs, 1:2*bs); input(1:bs, 2*bs+1:4*bs)]
Вывод:
input =
1 1 1
1 1 1
1 1 1
2 2 2
2 2 2
2 2 2
3 3 3
3 3 3
3 3 3
4 4 4
4 4 4
4 4 4
output =
1 1 1 2 2 2
1 1 1 2 2 2
1 1 1 2 2 2
3 3 3 4 4 4
3 3 3 4 4 4
3 3 3 4 4 4
Я сейчас не удовлетворен. Должно быть лучшее решение для последней строки моего сценария. Любые улучшения приветствуются!