changeset 628:0609a72dcdfe feature/grids

Factor out function for reordering components
author Jonatan Werpers <jonatan@werpers.com>
date Fri, 20 Oct 2017 23:28:08 +0200
parents c602fe0a778c
children 2b03ee11e48b
files +grid/evalOn.m
diffstat 1 files changed, 10 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
diff -r c602fe0a778c -r 0609a72dcdfe +grid/evalOn.m
--- a/+grid/evalOn.m	Fri Oct 20 23:24:42 2017 +0200
+++ b/+grid/evalOn.m	Fri Oct 20 23:28:08 2017 +0200
@@ -19,13 +19,7 @@
     k = numberOfComponents(func);
 
     gf = func(x{:});
-
-    % Reorganize gf
-    gf_temp = gf;
-    gf = zeros(g.N*k, 1);
-    for i = 1:k
-        gf(i:k:end) = gf_temp((i-1)*g.N + 1 : i*g.N);
-    end
+    gf = reorderComponents(gf, k);
 end
 
 % Find the number of vector components of func
@@ -35,3 +29,12 @@
     assert(size(f0,2) == 1, 'grid:evalOn:VectorValuedWrongDim', 'A vector valued function must be given as a column vector');
     k = length(f0);
 end
+
+% Reorder the components of the function to sit together
+function gf = reorderComponents(a, k)
+    N = length(a)/k;
+    gf = zeros(N*k, 1);
+    for i = 1:k
+        gf(i:k:end) = a((i-1)*N + 1 : i*N);
+    end
+end