【问题标题】:Octave Cell Array八度单元阵列
【发布时间】:2017-03-14 23:29:06
【问题描述】:

我有一个嵌套单元格数组,其中一个字段用于信息,另一个用于另一个单元格。 如何使用辅助变量删除单元格?

例如:

T = 元胞数组的开始

P = T

P = P{2} 根据需要多次。

P{2} = []

删除的单元格在原始列表中不可见。

【问题讨论】:

  • 不可能。一旦分配了P = TP 就是T 的新副本,独立于原始副本。

标签: octave cell-array


【解决方案1】:

我认为您所做的代码并没有像您认为的那样做。 Octave\Matlab 没有完全实现指针的概念。

正如烧杯所说,赋值操作是复制,所以P = T是另一个元胞数组。实际上,出于性能原因,它保持相同的数组,直到您更改其中一个的内容。即直到P{2}={},此时T={}P={[1,1] = [](0x0) [1,2] = {}(0x0)}。 (顺便说一句,P = P{2} 甚至不起作用。)

没关系,因为 Octave\Matlab 不打算公开内存寻址等。即您无法确定变量 PT 是否存储在同一地址。相等运算符适用于数组元素,但并不完全适用于单元格。

Octave\Matlab 专为数字运算而设计。 轻松创建操作任意数据结构超出了他们的范围。 对于创建列表,以下链接可能会有所帮助,尽管解决方案非常复杂: MATLAB linked list

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-21
    • 1970-01-01
    • 2011-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多