File: Struct2Vect.m

package info (click to toggle)
psychtoolbox-3 3.0.9%2Bsvn2579.dfsg1-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 63,408 kB
  • sloc: ansic: 73,310; cpp: 11,139; objc: 3,129; sh: 1,669; python: 382; php: 272; makefile: 172; java: 113
file content (21 lines) | stat: -rw-r--r-- 642 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function vec = Struct2Vect(struc,fieldnm)
% vec = Struct2Vect(struc,fieldnm)
% Traverses array of structs STRUC and returns data from all fields FIELDNM
% in vector VEC.
% Returns array vector if field contains numeric scalars, cell vector
% otherwise.
% Example: for field data.field:
% 
%   data(1).field = 23;
%   data(2).field = 56;
%   vec = struct2vec(data,'field')
%   vec = [23 56];
%
% DN 2007
% DN 2008-07-30 Fixed handling of numeric vectors

if isnumeric(struc(1).(fieldnm)) && isscalar(struc(1).(fieldnm))
    vec = [struc.(fieldnm)];
else % not numeric scalar, make cellarray
    vec = {struc.(fieldnm)};
end