максимальный размер строки в matlab - PullRequest
4 голосов
/ 17 января 2012

Я новичок в Matlab, и я пытаюсь решить следующий сценарий.

У меня есть большие строки, которые необходимо кодировать в xor'е, чтобы получить значение.Я использую следующий фрагмент кода для выполнения операции:

 clear;clc;
 first ='abceeeeeeeeeeeeeeeddddddddddddd';
 second='defrrrrrrrrrrrrttttttttttttuuuu';
 result=bitxor(uint8(double(first)) , uint8(double(second)));

В приведенном выше коде я жестко кодирую значение строк.Мне было интересно, если Matlab определяет ограничение размера строк?Если кто-то может помочь мне понять это значение в терминах байтов, это будет очень полезно.

Спасибо и С уважением, Бхавья

1 Ответ

4 голосов
/ 17 января 2012

Я не думаю, что есть ограничение размера, прикрепленное к переменной, но, безусловно, существует ограничение на доступную память, которая зависит от вашей операционной системы и архитектуры компьютера.

Например, я запускаю Matlab R2008b на 32-битной Windows 7. Вывод команды memory дает мне:

Maximum possible array:            1128 MB (1.183e+009 bytes) *
Memory available for all arrays:   1470 MB (1.542e+009 bytes) **
Memory used by MATLAB:              294 MB (3.085e+008 bytes)
Physical Memory (RAM):             3519 MB (3.690e+009 bytes)
*  Limited by contiguous virtual address space available.
** Limited by virtual address space available.

Я могу создать массив символов из 5e8 элементов, прежде чем выдать ошибку «Недостаточно памяти», то есть 1e9 байт, что соответствует выводу memory.

Вы можете ознакомиться с техническими примечаниями, связанными с управлением памятью, на веб-сайте MathWorks:

...