如何计算MATLAB中结构中的属性数?

Chr*_* P. 3 matlab matlab-struct

我有一个函数返回一个或多个变量,但随着它的变化(取决于函数是否成功),以下内容不起作用:

[resultA, resultB, resultC, resultD, resultE, resultF] = func(somevars);
Run Code Online (Sandbox Code Playgroud)

这有时会返回错误,varargout {2}未定义,因为resultA当函数失败时,实际上只有第一个变量被赋予一个值.相反,我将所有输出放在一个变量中:

output = func(somevars);
Run Code Online (Sandbox Code Playgroud)

但是,变量被定义为结构的属性,这意味着我必须使用它来访问它们output.A.这本身不是问题,但我需要计算属性的数量,以确定我是否得到了正确的结果.

我想length(output),numel(output)size(output)没有用,因此,如果任何人有这样的一个聪明的方法我将非常感激.

Mat*_*hen 12

length(fieldnames(output))
Run Code Online (Sandbox Code Playgroud)

可能有更好的方法,但我想不出来.