замена значения во всех столбцах значением этого столбца - PullRequest
2 голосов
/ 28 марта 2011

Как заменить все 1 во ВСЕХ столбцах на номер этого столбца?Я уже могу сделать это столбец за столбцом:

output (output (:, 3) == 1,3) = 3;
output (output (:, 4) == 1,4) =4;
output (output (:, 5) == 1,5) = 5;
и т.д.Должен быть способ сделать их все сразу, верно?

Ответы [ 2 ]

4 голосов
/ 28 марта 2011

Вы можете использовать НАЙТИ для этого:

[rowIdx,colIdx] = find(output==1);
output(output==1) = colIdx;
1 голос
/ 28 марта 2011

Я не совсем понимаю, что вы пытаетесь сделать, но вы можете использовать цикл MATLAB для .

for i=1:numberOfColumns,
    output(:,i) = i;
end

Это похоже на то, что вы ищете...?

Редактировать:

for x=1:numberOfRows,
    for y=1:numberOfColumns,
        if output(x, y) == 1
            output(x, y) == y
        end
    end
end

Кстати, столбцы / строки могут быть неправильными, потому что я не могу вспомнить, каким образом MATLABпредставляет свои матрицы!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...