在MATLAB中的一行中从单元格数组中获取所有一个属性

Posted

技术标签:

【中文标题】在MATLAB中的一行中从单元格数组中获取所有一个属性【英文标题】:Get all of one property from a cell array in one line in MATLAB 【发布时间】:2015-11-09 21:24:50 【问题描述】:

我有一个具有属性idname 的元胞数组(称为myCells)。我希望从单元格数组中选择所有 ID。这很容易分两行。我可以跑:

tmp=[myCells:];
[tmp.id]

有没有办法折腾中间的tmp 变量步骤?我想在一行中做到这一点。

【问题讨论】:

这里使用单元格是否有特定原因?使用结构将允许您使用 myStruct=struct('id',1,2);[myStruct.id] 获取所有 ID 您可以使用一个函数来返回 id 并检查单元格中是否真的是具有预期字段的结构。 @Daniel。不幸的是。我添加的单元格条目可能与创建Subscripted assignment between dissimilar structures. 错误的其他条目具有不同的属性。我可能可能能够使用普通的结构数组,但对于这种无关紧要的事情,我可能只承认使用两行。谢谢! @chessofnerd 我在答案中写的对你有用吗? 【参考方案1】:

以下应该做你的工作

extractfield([myCells:], 'id')

【讨论】:

以上是关于在MATLAB中的一行中从单元格数组中获取所有一个属性的主要内容,如果未能解决你的问题,请参考以下文章

在Matlab中直接获取数组/单元格的元素[重复]

MATLAB - 根据可比较的 z 值绘制不同颜色的线条

在matlab中对单元格数组进行分类

从 MATLAB 中字符串的开头和结尾删除 '''

MATLAB 中的单元格和数组的连接和索引有何不同?

Matlab:提取存储在单元阵列中的所有图像的像素