Maximum variable size allowed by the program is exceeded.

11 次查看(过去 30 天)
It's occuring in the knnclassifier!!! Need help!
Error:
Maximum variable size allowed by the program is exceeded.
Code:
function D = distfun(Train, Test, dist)
%DISTFUN Calculate distances from training points to test points.
[n,p] = size(Train);
D = zeros(n,size(Test,1));
numTest = size(Test,1);
switch dist
case 'sqeuclidean'
for i = 1:numTest
D(:,i) = sum((Train - Test(repmat(i,n,1),:)).^2, 2);
end
case 'cityblock'
for i = 1:numTest
D(:,i) = sum(abs(Train - Test(repmat(i,n,1),:)), 2);
end
.
.
.

采纳的回答

Daniel Shub
Daniel Shub 2013-1-24
The maximum variable size depends on your OS and MATLAB version. Assuming a recent 64-bit OS and 64-bit MATLAB, the maximum variable size (~8 TB) is such that you probably don't have enough processing power to do anything with it effectively. For 32-bit systems and some older 64-bit systems you might actually have the processing power to use such a large matrix and could benefit from a OS/MATLAB upgrade.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Statistics and Machine Learning Toolbox 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by