0
分類的錯誤,我希望並行寫入下面的代碼:爲PARFOR
min=0;
LB=[min1 min2]
UB=[max1 max2]
numvalues2=OpParam(2);
for i =LB(1):step1:UB(1),
for j =LB(2):step2:UB(2)
acc=ComputeCbetaPerm([i j],featureMatrix,labelMatrix);
if(acc < max)
acc=min;
values=[i j];
end
end
end
我改爲以下,以避免使用臨時變量的max
但仍給人分類的錯誤,我不得到。
LB=[min1 min2]
UB=[max1 max2]
Result=cell(numvalues1,numvalues2,1);
outervalues=LB(1):step1:UB(1);
innervalues=LB(2):step2:UB(2);
for (i =1:numel(outervalues)),
parfor (j =1:numel(innervalues)),
acc=ComputeCbetaPerm([outervalues(i) innervalues(j)],featureMatrix,labelMatrix);
Result(i,:,1)={outervalues(i),innervalues(j),acc};
end
end
還問到http://in.mathworks.com/matlabcentral/answers/195799-classification-error-for-parfor。
編輯:
下標的轉讓尺寸不匹配。
造成者: 下標分配維度不匹配。
Ĵ
ANS =
0.0000 + 1.0000i
將'parfor'替換爲'for'並運行代碼。由於Result(1,:,1)被多次寫入,索引有問題。 – Daniel 2015-04-02 13:54:51
你能解釋你的代碼嗎?它是在尋找最大值還是最小值?爲了更好的可讀性,你可以用'linspace'替換'LB(1):((UB(1)-LB(1))/(numvalues1 -1)):UB(1)' – Daniel 2015-04-02 13:57:41
我不太瞭解除谷歌搜索外如何解決分類問題。理想情況下,它應該是'Result(i,j,1)' – 2015-04-02 13:58:37