我在Matlab中知道的最接近Python ID的是未记录格式的调试.使用此格式选项,在命令窗口中键入变量名称将显示有关其内存使用情况的信息.
显示的pr字段是指向数据实部的指针,而pi是虚部的指针. (对于this information,记为@rayryeng.)从Matlab R2018a开始,由于新的interleaved complex存储,不再存在pi指针.
例如,以下说明了Matlab的copy-on-write机制.请注意,语句y = x不会创建x的副本(它具有与y相同的pr),但是稍后在修改y的条目时会触发该副本(pr更改).
>> format debug
>> x = 1:5;
>> y = x;
>> x, y
x =
Structure address = 37751590
m = 1
n = 5
pr = ff4bbe80
pi = 0
1 2 3 4 5
y =
Structure address = 37751590
m = 1
n = 5
pr = ff4bbe80
pi = 0
1 2 3 4 5
>> y(5) = 10;
>> x, y
x =
Structure address = 37751590
m = 1
n = 5
pr = ff4bbe80
pi = 0
1 2 3 4 5
y =
Structure address = 37751de0
m = 1
n = 5
pr = 85c71e0
pi = 0
1 2 3 4 10