Как я могу удалить некоторые записи в матрице.Я конвертирую из Matlab в Python - PullRequest
0 голосов
/ 21 сентября 2019

Вот код Matlab, который я хотел бы преобразовать

m=100;
n=100      
idx_MV = randperm(m*n);
Q = ones(n, m);
Q(idx_MV(1:round(MV*m*n))) = 0;

Могу ли я получить Python-эквивалент этого куска кода?спасибо

Ответы [ 2 ]

0 голосов
/ 22 сентября 2019

Я понял это.Спасибо @ Людовик

m=100
n=100
MV=0.4
idx = np.random.permutation(m*n)
idx2 = idx[1:round(MV*m*n)]
Q.reshape(-1, 1)[idx2] = 0
0 голосов
/ 21 сентября 2019

Возможно, вы можете попробовать это:

import numpy as np
q = np.ones((2, 1))
q[your_index_function(args)] = 0

и your_index_function(args) должны возвращать тот же массив фигур, что и q с логическими значениями в соответствии с вашими условиями (например, поведение idx_MV?)

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