for control=1:7
name=strcat('tau: ', num2str(TD(control)),' PLD: ', num2str(PLD(control)));
fprintf('Control: %i/7\n', control)
Maps(control) = struct('GradOFF', [], 'GradON', []);
for lin=1:size(data(subject).perf_w_off,1)
fprintf('Lin: %i/64\n', lin);
for col=1:size(data(subject).perf_w_off,2)
[x1, fval, exitflag, output] = fminunc(...)
Maps(control).GradOFF(lin,col) = abs(x1(2));
[x2, fval, exitflag, output] = fminunc(...)
Maps(control).GradON(lin,col) = abs(x2(2));
end
end
min1 = min(min(Maps(control).GradOFF));
min2 = min(min(Maps(control).GradON));
min = min([min1, min2]);
max1 = max(max(Maps(control).GradOFF));
max2 = max(max(Maps(control).GradON));
max = max([max1, max2]);
figure(map1);
subplot(2,7,control)
image1 = mat2gray(Maps(control).GradOFF,[min, max]);
imshow(image1,[]);
title(strcat(name, ' Grad Off'))
subplot(2,7, control+7)
image2 = mat2gray(Maps(control).GradON,[min, max]);
imshow(image2,[]);
title(strcat(name, ' Grad On'))
end
這段代碼似乎沒有出錯。第一個循環(控制中的一個)運行良好。但是,當再次通過循環(control = 2)時,在執行min1 = min(min(Maps(control).GradOFF))
時會顯示錯誤消息。它說:下標索引必須是實數正整數或邏輯使用分
下標索引必須是真正的正整數或邏輯。
但是當我在做mean(mean(Maps(control).GradOFF))
它正在工作。有人能告訴我什麼可能會出錯min
不會與mean
?
另請參閱[此問題](http://stackoverflow.com/questions/20054047/subscript-indices-must-either-be-real-positive-integers-or-logicals-generic-sol)for a [generic方法](http://stackoverflow.com/a/20054048/983722)來處理這個錯誤。 –