parfor 的分类错误
Classification error for 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 询问过。
编辑:
Subscripted assignment dimension mismatch.
Caused by:
Subscripted assignment dimension mismatch.
j
ans =
0.0000 + 1.0000i
该错误与 parfor 无关。您可以将 parfor 替换为 for,您将收到相同的错误。
LB=[min1 min2]
UB=[max1 max2]
Result=cell(numvalues1,numvalues2,3);
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,j,:)={outervalues(i),innervalues(j),acc};
end
end
您正试图将三个值放入单元格,但您只为其中一个分配了 space。
我希望并行编写以下代码:
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 询问过。
编辑:
Subscripted assignment dimension mismatch.
Caused by: Subscripted assignment dimension mismatch.
j
ans =
0.0000 + 1.0000i
该错误与 parfor 无关。您可以将 parfor 替换为 for,您将收到相同的错误。
LB=[min1 min2]
UB=[max1 max2]
Result=cell(numvalues1,numvalues2,3);
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,j,:)={outervalues(i),innervalues(j),acc};
end
end
您正试图将三个值放入单元格,但您只为其中一个分配了 space。