Я пытаюсь создать цикл, который читает через матрицу (A), и сохраняет ненулевые значения в новую матрицу (w). Я не уверен, что не так с моим кодом.Сохранение ненулевых целых чисел из одной матрицы в другую
function [d,w] = matrix_check(A)
[nrow ncol] = size(A);
total = 0;
for i = 1:nrow
for j = 1:ncol
if A(i,j) ~= 0
total = total + 1;
end
end
end
d = total;
w = [];
for i = 1:nrow
for j = 1:ncol
if A(i,j) ~= 0
w = [A(i,j);w];
end
end
end
Второй контур не работает (по крайней мере, он не распечатывает результаты w).
Используйте [отладчик от Matlab] (http://www.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features. html), чтобы просмотреть свой код и посмотреть, как он течет. – excaza
Эта функция отлично работает для меня, вы вызываете 'matrix_check' с двумя объявленными выходами? например '[d, w] = matrix_check (A)' – excaza
Да, я просто пытаюсь понять, почему мой вывод - это всего лишь одно значение. Это не печатает ничего для w, просто d. – statsguyz