changeset 818:44f05d7b6f0a feature/grids

Merge with default
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 07 Sep 2018 09:22:53 +0200
parents b374a8aa9246 (current diff) b723495cdb2f (diff)
children 501750fbbfdb d8d71f652917
files
diffstat 2 files changed, 32 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
diff -r b374a8aa9246 -r 44f05d7b6f0a structArray.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/structArray.m	Fri Sep 07 09:22:53 2018 +0200
@@ -0,0 +1,16 @@
+% % Usage example:
+% c = structArray({'a','b'}, {
+%     1, 2;
+%     3, 4;
+% });
+
+function c = structArray(fields, values)
+    assert(length(fields) == size(values, 2), 'Number of fields and number of colums of ''values'' must be equal');
+    c = struct();
+
+    for i = 1:size(values, 1)
+        for j = 1:length(fields)
+            c(i).(fields{j}) = values{i,j};
+        end
+    end
+end
diff -r b374a8aa9246 -r 44f05d7b6f0a structCellArray.m
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/structCellArray.m	Fri Sep 07 09:22:53 2018 +0200
@@ -0,0 +1,16 @@
+% % Usage example:
+% c = structCellArray({'a','b'}, {
+%     1, 2;
+%     3, 4;
+% });
+
+function c = structCellArray(fields, values)
+    assert(length(fields) == size(values, 2), 'Number of fields and number of colums of ''values'' must be equal');
+    c = cell(1, size(values, 1));
+
+    for i = 1:size(values, 1)
+        for j = 1:length(fields)
+            c{i}.(fields{j}) = values{i,j};
+        end
+    end
+end