]> gitweb.michael.orlitzky.com - octave.git/blobdiff - construct.m
Add construct() and its tests.
[octave.git] / construct.m
diff --git a/construct.m b/construct.m
new file mode 100644 (file)
index 0000000..61f0caa
--- /dev/null
@@ -0,0 +1,20 @@
+function A = construct(m, n, f)
+  %
+  % Construct an m-by-n matrix with entries a_ij = f(i,j).
+  %
+  if ((m < 0) || (n < 0))
+    A = NA;
+    return;
+  elseif ((m == 0) || (n == 0))
+    A = NA;
+    return;
+  end
+
+  A = zeros(m,n);
+
+  for i = [ 1 : m ]
+    for j = [ 1 : n ]
+      A(i,j) = f(i,j);
+    end
+  end
+end