how to make the best use of memory when running MATLAB.?
Show older comments
now i have an array includes numeric its size is 7 x 7 and i do some operation on that array
clc
clear
a = input('Please, select your array: ');
b = nonzeros(a);
c = length(b);
for d =1:c
if (d<c)
e{d} = nchoosek(b, d);
end
end
tt=cellfun(@(m) padarray(m,[0 max(cellfun(@(n) size(n,2), e)) - size(m,2)],'post'), e,'UniformOutput',0);
uu=cell2mat(tt([1:d-1])');
suu=size(uu)
uu(:,((suu(2))+1))=sum(uu')'
but i faced a problem during the implementation of the code this problem lies in the memory . please help me how to make the best use of memory when running MATLAB ?
8 Comments
mohammad
on 9 Jul 2014
Joseph Cheng
on 9 Jul 2014
It may depend on your implementation, any more detail about your b and d variables? as a 7x7 matrix i was able to do nchoosek for the entire 7x7 (49 long array) choosing 5 for k. what are your n and k values that are failing memory? Can you give more detail on your problem as saying there is not enough memory to do something, all i can say is get more memory without seeing how you're trying to do this.
have you attempted to rethink the problem to see how to optimize or not have to do this?
mohammad
on 13 Jul 2014
per isakson
on 13 Jul 2014
mohammad
on 14 Jul 2014
per isakson
on 14 Jul 2014
I assume you already did read
and other topics in the documentation
mohammad
on 16 Jul 2014
per isakson
on 16 Jul 2014
Are you sure there is enough memory to run your script? If so you need to debug your script. See
and start with
dbstop if error
Answers (1)
per isakson
on 16 Jul 2014
Edited: per isakson
on 29 Jul 2014
Try
>> e = nchoosek((1:7*7)',24);
which returns
Error using nchoosek (line 120)
Maximum variable size allowed by the program is exceeded.
with my system: R2013a, 64bit, Win7, 8GB
Categories
Find more on Object Analysis in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!