matlab中是不是有等效的python函数id()?

Posted

技术标签:

【中文标题】matlab中是不是有等效的python函数id()?【英文标题】:Is there an equivalent of the python function id() in matlab?matlab中是否有等效的python函数id()? 【发布时间】:2013-06-25 06:46:28 【问题描述】:

我正在寻找一个 matlab 函数,它与 python 的 id() 具有相同的功能,即对象独有的东西,并且在其生命周期内保持不变..

【问题讨论】:

什么样的matlab对象需要id() mathworks.com/matlabcentral/answers/3314 可能会有所帮助 @dfb:谢谢,我正在检查。 请提供边界上下文,以便我们提供更好的答案。 @Shai:我正在将机器学习算法 (BAHSIC) 的代码从 python 2.6 转录到 Matlab (R2008a) 中。有一堆内核需要实现,需要对输入数据进行预处理,然后将其缓存为内核对象的一部分。在python中完成的方式是cache[id(x)] = (x**2).sum(axis=1)。这里的变量缓存是内核对象的一部分。我需要在 matlab 中做同样的事情。 【参考方案1】:

对于所有类似句柄的对象,类似于 id() 的标识符可能是双重转换的值:

>> h = uicontrol
h =
  9.7656e-004
>> handle(h)
ans =
    uicontrol

对于非句柄类型的对象,这样的事情可能不存在,因为 Matlab 通常使用按值调用而不是按引用调用。 所以一般来说,在改变变量的值时,不能保证底层对象保持不变。

【讨论】:

以上是关于matlab中是不是有等效的python函数id()?的主要内容,如果未能解决你的问题,请参考以下文章

Matlab 中是不是有 splat 运算符(或等效运算符)?

Python 等效于 MATLAB 的“ismember”函数

C++ 中是不是有与 python 中的 astype() 函数等效的函数?

OpenCV中Matlab的radon()等效函数

在 C++/STL 中是不是有与 Python range() 等效的紧凑函数

python中Matlab的等效命令'end'是啥? [复制]