我是matlab的新手,我正在尝试解决以下问题。
我有大字符串需要xor'ed基本编码才能获得值。 我使用以下代码片段来执行操作:
clear;clc;
first ='abceeeeeeeeeeeeeeeddddddddddddd';
second='defrrrrrrrrrrrrttttttttttttuuuu';
result=bitxor(uint8(double(first)) , uint8(double(second)));
在上面的代码中,我很难编码字符串的值。我想知道matlab是否定义了字符串的大小限制?如果有人能帮我理解这个值,那就更有用了。
谢谢和问候, Bhavya
答案 0 :(得分:4)
我认为tere不是附加到变量的大小限制,但可用内存的限制当然取决于您的操作系统和计算机体系结构。
例如,我在32位Windows 7上运行Matlab R2008b。命令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网站上查看与内存管理相关的技术说明: