假设我得到了一个数组结构,例如:

s = 

foo: [3x3 double]
bar: [3x1 double]

有没有一种简单的方法可以提取结构名称与s相同且每个字段由s相同字段的s ix行填充s 我可以假设每个字段具有相同的行数。 鉴于以上情况,我可以做

ix = 1;
s1.foo = s.foo(ix, :);
s1.bar = s.bar(ix, :);

但是,如果s具有多个字段,则变得笨拙。 是否有一个函数可以做等价的la s1 = extractstruct(s, ix)

===============>>#1 票数:1 已采纳

它不如s1 = extractstruct(s, ix)短,但我会这样做:

s.foo = rand(3);
s.bar = rand(1,3);
xi=1;

s2=reshape([fieldnames(s)'; cellfun(@(x) x(xi,:),struct2cell(s)','UniformOutput',0)],1,[]);
s2=struct(s2{:})


s2 = 

    foo: [0.8147 0.9134 0.2785]
    bar: [0.7922 0.9595 0.6557]

  ask by dantswain translate from so

未解决问题?本站智能推荐:

3回复

在Matlab中从结构的单元格数组中提取字段

我有一个单元格数组(假设大小为10),其中每个单元格都是具有相同字段的结构。 假设它们都有一个字段名称x。 是否有一种方法可以将单元格数组中所有结构的向量x取回向量? 我希望函数返回位置为1的大小为10的向量,单元格1中结构的字段x的值等等... 编辑1: 单元阵列中的结构
1回复

从结构数组中提取行

我正在做一些图像处理,我必须操纵来自houghlines()的结果并手动连接一些线。 给出了以下houghlines()-result( 我缩短了point1和point2的条目以使其清晰可见) : 现在,如果theta和rho的值相等,我想提取特定的行,以便以后可以手动连接Hou
1回复

从mex中的matlab结构中提取数据

我正在跟踪此示例,但不确定自己错过了什么。 具体来说,我在MATLAB中有以下结构: 这是我在MEX中的测试代码- 首先,我想确保我传递的是正确的内容,因此我进行了以下检查: 它确实产生4 ,因为我有四个字段。 但是,当我尝试提取字段three的值时: 返回
1回复

在matlab中以行和列对为键的结构中提取矩阵; 哪个更好的地图,结构,表格

我想提取一个单元格中的每个矩阵行信息。 例如,在矩阵A中,我想以一种可以将(row,col)对用作结构中的键的方式存储信息。 假设将我想要的数据提取为以下结构: 然后,假设我要找到结构A1和A2的交集。 相交的结果将是两个共同的项(1,2)和(3,4)。 然后,我使用索引对常见项
1回复

从结构数组中提取字段以放入另一个结构数组

我有一个结构数组,其中包含许多我不在乎的字段,因此我想提取我关心的有限数量的字段,并将其放入一个单独的结构数组中。 对于大小为1的结构数组,我通过从头开始创建新数组来完成此操作,例如: 这使 有更有效的方法吗? 如何缩放到大小为N的结构数组(向量)? 在这种情况下
1回复

MATLAB向量化:从结构向量中提取结构域向量

我有一个结构s的向量S ,每个结构都有一个字段x 。 我想从S每个结构中提取包含值x的向量X 有矢量化的方法吗? 例: 我想得到:
2回复

将数组值处理到结构数组的单个字段(在Matlab中)

我认为deal应该这样做,但事实并非如此,我找不到另一个好的解决方案。 我有一个数组a = 1:2 。 我想将值1和2放入结构数组b如下所示: 令我惊讶的是, [b(1:2).a] = deal(1:2)不处理值,而是将向量[1 2]放入结构b每个字段a中: 我在这里遗漏
2回复

我正在寻找一种从MATLAB数据结构中提取嵌套数据的优雅方法

使用MATLAB,而不是使用嵌套的FOR循环的蛮力技术,我很好奇,是否有一种更优雅的方法可以从下面显示的示例数据结构中提取X&Y数据。 我无法使用bsxfun,arrayfun或strucfun在MATLAB中设计出一种优雅的方法。
1回复

结构数组生成循环Matlab

说我有一个目录列表: 数据是混合的,包含图像,矢量,文本等。 我生成了一个文件夹列表,其中包含我要对其执行操作的数据。 在我的脚本中处理了这些数据类型之后,我在工作区中生成了一堆变量。 在下一个循环中将覆盖变量。 我想创建一个包含这些变量或结果的结构文件。 这意味着,患者将在患
1回复

Matlab:结构数组的基本限制?

数十年来,我一直在使用Matlab。 我以为我对数组,结构,单元格数组,表,结构数组以及每个字段都是数组的结构有很好的把握。 对于后两个,我假设每个字段都必须是统一类型。 我发现不存在这样的限制: 也许随着岁月的流逝,Matlab变得越来越灵活(我使用的是2015b),但是如果