Mercurial > repos > public > sbplib
annotate dealStruct.m @ 1333:0aefcb30cab4 feature/D2_boundary_opt
Add support for RK6
author | Vidar Stiernström <vidar.stiernstrom@it.uu.se> |
---|---|
date | Sat, 07 May 2022 10:30:59 +0200 |
parents | b7ec26da3d77 |
children |
rev | line source |
---|---|
874
95993ad2bd70
Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 function varargout = dealStruct(s, fields) |
892
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
2 default_arg('fields', []); |
874
95993ad2bd70
Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 |
892
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
4 if isempty(fields) |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
5 out = dealFields(s, fieldnames(s)); |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
6 varargout = out(1:nargout); |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
7 else |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
8 assert(nargout == length(fields), 'Number of output arguements must match the number of fieldnames provided'); |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
9 varargout = dealFields(s, fields); |
874
95993ad2bd70
Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 end |
95993ad2bd70
Add function to deal the fields of a struct to variables
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 end |
892
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
12 |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
13 function out = dealFields(s, fields) |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
14 out = cell(1, length(fields)); |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
15 for i = 1:length(fields) |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
16 out{i} = s.(fields{i}); |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
17 end |
b7ec26da3d77
Handle default arguments better in dealStruct()
Jonatan Werpers <jonatan@werpers.com>
parents:
874
diff
changeset
|
18 end |