On Sun, Aug 25, 2019 at 12:27 AM shivax via Help list for GNU Octave <
address@hidden> wrote:
hi nrjank , thank you for answer
i found this solution :
(i try to use matrix this large matrix but the PC stops me for lack of
memory...i use pc portable intel i-5 with 8 giga Ram )
a1=fix(rand(225).*100);
a=a1(:);
b=1:50624;
b=b';
c=(1:50624)+1;
c=c';
cc=a.*ones(1,numel(b));
%d=cc(b:end)
g=(1:rows(cc))'.*ones(1,numel(b));
g1=g>=b&g<=c;
e=min(~g1.*max(cc).+g1.*cc)
Since you're only dealing with integers between 0 and 100, if you change the first line to:
a1 = int8(rand(225).*100);
you will significantly decrease the memory required. again, later,
g=(uint16(1:rows(cc)))'.*ones(1,numel(b));
you can use the 'whos' command to see the variable memory usage.
cc 50625x50624 2562840000 int8
g 50625x50624 5125680000 uint16
this gets to your next line which produces an error:
>> g1=g>=b&g<=c;
error: mx_el_ge: nonconformant arguments (op1 is 50625x50624, op2 is 50624x1)
so you should re-examine what you're trying to do there.