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() 函数等效的函数?