子域的内容

时间:2014-01-02 16:00:53

标签: matlab data-structures bioinformatics

我需要获取PDB文件中单个子字段内容的列表(单元格数组)。我已经准备好了我的结构,现在正在寻找像

这样的东西
resnames = getfield(PS.Model.Atom,'resName')

然而这只留给我第一个条目。我需要一个类似于what命令的输出。

2 个答案:

答案 0 :(得分:1)

我相信你可能有这样的事情:

a{1}='s';
a{2}='t';

现在称之为

a{:}

将多次返回:

ans =

s


ans =

t

但是,如果你可以用括号括起来:

{A {:}}

它会很快归还所有东西: ans =

's'    't'

现在ans是一个单元格数组。


我一直无法猜测你的确切结构,但希望这个解决方案(用括号包装东西)仍然有效。如果没有,您可以随时循环遍历变量并逐个提取元素。

答案 1 :(得分:0)

您的struct数组在树中的某个点上不是标量。在层次结构的某个地方,您有1xN结构数组,这将为您提供多个ans输出。另一个建议是使用动态字段名称。而不是getfield,这将是:

PS.Model.Atom.('resName')

因此,你可以采取丹尼斯的建议并形成所有叮咬的单元格,如:

resnames = {PS.Model.Atom.('resName')};