Предположим, у меня есть (2x10) матрица.Удаление строки в матрице с использованием переменной
Теперь у меня есть функция, чтобы итеративно прокручивать эти строки, выполнять процесс очистки, и, если выполняются некоторые критерии, удалите эту строку. Таким образом, функция возвращает (обычно) строку исходного размера и иногда удаляет эту строку. Таким образом, другими словами, удаление строки выполняется через переменную, возвращаемую функцией.
Однако он выдает ошибку относительно несоответствия размеров.
Таким образом, я могу это сделать:
x(1,:) = [];
Чтобы удалить первую строку, но:
d = [];
x(1,:) = d;
дает ошибку измерения рассогласования. Так что, если я даю:
x(1,:) = cleaning_function(x(1,:));
и функция решает удалить строку, он подбросит ошибку измерения рассогласования.
Как решить эту проблему?
Было бы лучше, если бы ваша функция очистки приняла полную матрицу в качестве входных данных и вернула индекс всей строки для удаления ... затем следующую строку кода вы можете проверить, пустой ли результат, если не тогда используйте его, чтобы удалить удаленные строки за один раз. – Hoki