Lay*_*Lay 1 arrays double matlab matrix cell-array
我有两个看起来完全一样的变量,但是一个是<double>,另一个是<cell>.在代码中,似乎它们被转换cell2mat.我的理解是数据存储的问题,但我只是不明白的区别和定义cell,并double为这个.
除了nrz的答案之外,值得注意的是存储单元阵列时还有额外的内存开销.例如,请考虑以下代码:
A = 1:5
B = {A}
C = num2cell(A)
whos
Run Code Online (Sandbox Code Playgroud)
产生以下输出:
A =
1 2 3 4 5
B =
[1x5 double]
C =
[1] [2] [3] [4] [5]
Name Size Bytes Class Attributes
A 1x5 40 double
B 1x1 152 cell
C 1x5 600 cell
Run Code Online (Sandbox Code Playgroud)
A在内存中占用40个字节(每个双倍占用8个字节).A使用单个单元格进行包装可以B增加额外的112个字节.这是MATLAB中单个单元的开销.C包含5个单元格并且取(112 + 8)×5 = 600字节.| 归档时间: |
|
| 查看次数: |
1127 次 |
| 最近记录: |