【发布时间】:2012-06-15 01:41:22
【问题描述】:
我编写了一个用于分类的 Matlab 脚本。当我执行此操作时,出现内存不足错误。
for i =1:size(Y)
if(predictions(i) ~= clasL(find(ismember(mydata,X(i)),'rows')))
error = error+1;
end
end
在上面的代码中,Y 和 predictions 是维度为 19928 的向量。mydata 和 X 是 19928*62061 和 12819*62061 矩阵。当我执行以下代码时,出现以下错误
Error using ==
Out of memory. Type HELP MEMORY for your options.
Error in ismember (line 62)
tf = (a == s);
Error in myinit (line 105)
if(predictions(i) ~= clasL(find(ismember(mydata,X(i)),1)))
如何克服这个问题?请帮我。 谢谢
【问题讨论】:
-
clasL是你自己的自定义函数吗?在不知道clasL的功能的情况下,很难或不可能修改和修复代码以解决内存问题。您能否编辑您的问题并在其中包含clasL函数的代码? -
对不起。 clasL 是另一个维度为 19928 的向量。基本上 clasL 包含原始类标签,predictions 包含预测的类标签。
标签: matlab