У меня есть матрица, которая выглядит как:MATLAB: удаление некоторых из элементов матрицы
A =[
1 5
2 10
3 12
4 25
5 8]
Давайте предположим, что я хочу, чтобы удалить строки, которые содержат элементы, которые больше, чем 10
. Я пытался использовать цикл и просто читать матрицу и использовать
for ii = 1:5
for jj = 2
if A(ii,jj) > 10
A(ii,2) = [];
end
end
end
Проблема заключается в том, что я все время получаю ошибки относительно размера матрицы. Когда одна строка удаляется, размер матрицы уменьшается, и я знаю, что мне нужно установить size(A)=size(A)-1
, но это не сработает. Любая помощь приветствуется!
Кстати: Если размер матрицы может изменения в одной итерации цикла можно считать от конца к началу матрицы чтобы избежать доступа элемента, который не выходит. Но это всего лишь общий намек, а не решение проблемы, потому что я уже видел, что есть ответ. – 13aumi