Например, у меня есть матрица 4x4экстракт элементов между двумя числом от матрицы/вектор
A = [1, 2, 3, 4;
2, 1, 4, 3;
1, 2, 4, 3;
4, 1, 2, 3;];
Для каждой строки, я хочу, чтобы извлечь элементы между 1 и 3 (предположим, что матрица всегда имеет некоторые элементы между 1 и 3, а 1 всегда до 3). Например, возвращать ячейку, как [{2}, {4}, {2,4}, {2}], или даже лучше с матрицей
B= [0, 1, 0, 0;
0, 0, 0, 1;
0, 1, 0, 1;
0, 1, 0, 0;];
Теперь я делаю петлю для каждой строки, найти индекс 1 и 3, а затем установить индекс между ними равен нулю, т.е.
B = zeros(4,4);
for i = 1 : size(A,1)
ind1 = find(A(i,:) ==1);
ind2 = find(A(i,:) ==3);
B(i, A(i,ind1+1:ind2-1)) = 1;
end
Любой простой способ генерировать эту матрицу B или только клетку? Любое предложение приветствуется.
Я не udnerstand, как между определенными. вы имеете в виду точку, где вы можете найти '[1 2 3]'? Я не понимаю третий ряд 'B'. –
, а также четвертый, я бы сказал – shamalaia
GameOfThrows's B кажется мне правильным – shamalaia