how to make the best use of memory when running MATLAB.?
Ältere Kommentare anzeigen
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 Kommentare
mohammad
am 9 Jul. 2014
Joseph Cheng
am 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
am 13 Jul. 2014
per isakson
am 13 Jul. 2014
mohammad
am 14 Jul. 2014
per isakson
am 14 Jul. 2014
I assume you already did read
and other topics in the documentation
mohammad
am 16 Jul. 2014
per isakson
am 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
Antworten (1)
per isakson
am 16 Jul. 2014
Bearbeitet: per isakson
am 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
1 Kommentar
mohammad
am 29 Jul. 2014
Kategorien
Mehr zu Whos finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!