Как мне переключить этот цикл MATLAB на цикл Python - PullRequest
0 голосов
/ 03 ноября 2019

Итак, в моей руке есть вызов, который я пытаюсь выполнить. У меня есть Matlab-код, который отлично работает homever, я хочу написать тот же код на Python. Homever Я не получаю те же результаты.

Я пытался использовать цикл for, отличный от цикла в matlab. Хотя они должны давать одинаковые результаты, я потерпел неудачу в какой-то момент цикла, хотя я не мог понять, где была ошибка.

for ii = 1:100 #matlab code
healthy=2*randn(100,1000)+5;
patient=2*randn(100,1000)+7;
threshold=mu_healthy-sd_healthy:0.1:mu_patient+sd_patient;
for i=1:length(threshold)
TP(i)=sum(patient>=threshold(i));
FP(i)=sum(healthy>=threshold(i));
TN(i)=sum(healthy<threshold(i));
FN(i)=sum(patient<threshold(i));
end
FPR(ii,:)=FP/1000;
TPR(ii,:)=TP/1000;

def appending(): #python code 
    for n in range(0,50):
        for x in range(0,1000):
            for a in range(0,61):
                if Apatient[x,n]>=newthreshold[a]:
                    TP[a].append(Apatient[x,n])
                elif Ahealthy[x,n]>=newthreshold[a]:
                    FP.append(Ahealthy[x,n])
                elif Apatient[x,n]<newthreshold[a]:
                    TN.append(Apatient[x,n])
                elif Ahealthy[x,n]<newthreshold[a]:
                    FN.append(Ahealthy[x,n])

Если вы можете запустить это в Matlab, вы увидите FN, Значения TN с 61 значением в каждом столбце. Я хочу, чтобы то же самое происходило и в моем цикле, так как каждый раз, когда я запускаю этот код, я получаю много элементов. Спасибо

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