2024-04-25 19:53:25 发布
网友
Matlab是否有任何等价于Python的idfunction?我尝试了一些类似Python的语法来创建一个Matlab表的副本,但很惊讶它实际上创建了一个表,其中包含一个变量,该变量的值就是表,而变量名就是表变量标识符。你知道吗
id
我试图了解赋值在Matlab中是如何工作的,不管是通过引用还是创建副本,如果可能的话,我想得到对象的地址。你知道吗
我在Matlab中知道的最接近Python的id的是未记录的format debug。使用此格式选项,在命令窗口中键入变量名将显示有关其内存使用情况的信息。你知道吗
format debug
显示的pr字段是指向数据实部的指针,pi是虚部的指针。从MatlabR2018A开始,pi指针不再存在,因为有了新的interleaved complex存储。你知道吗
pr
pi
例如,下面说明了Matlab的copy-on-write机制。注意语句y = x如何不创建x的副本(它与y具有相同的pr),但是稍后修改y的条目会触发副本(pr更改)。你知道吗
y = x
x
y
>> 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
我在Matlab中知道的最接近Python的
id
的是未记录的format debug
。使用此格式选项,在命令窗口中键入变量名将显示有关其内存使用情况的信息。你知道吗显示的
pr
字段是指向数据实部的指针,pi
是虚部的指针。从MatlabR2018A开始,pi
指针不再存在,因为有了新的interleaved complex存储。你知道吗例如,下面说明了Matlab的copy-on-write机制。注意语句
y = x
如何不创建x
的副本(它与y
具有相同的pr
),但是稍后修改y
的条目会触发副本(pr
更改)。你知道吗相关问题 更多 >
编程相关推荐