我在matlab中嵌套了forloop,而且我为非常大的数据集运行它。
我想知道如何摆脱for循环并使我的代码更快。
这是我的代码:
for p=1:length(Gamma)
%disp(p)
gamma=Gamma(p)
for Fold=1:size(Fold_indices,2)
x_Train=x(logical(Fold_indices(:,Fold)),1:end);
Y_Train=y(logical(Fold_indices(:,Fold)),1:Num_Tasks);
x_Test=x(~logical(Fold_indices(:,Fold)),1:end);
Y_Test=y(~logical(Fold_indices(:,Fold)),1:Num_Tasks);
coff = proxgrad(x_Train,Y_Train,MAX_ITR,lambda,gamma,Bind,epsilon);
tmp(Fold,1:end)=sum((x_Test*coff-Y_Test).^2) ./ size(x_Test,1);
end
In_Fold_Error{1,p}=tmp;
end
x,y 是矩阵, proxgrad 是函数。我将不胜感激任何帮助。