about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/KPMtools/mysize.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/bnt-master/KPMtools/mysize.m')
-rw-r--r--sourcecodes/bnt-master/KPMtools/mysize.m16
1 files changed, 16 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/KPMtools/mysize.m b/sourcecodes/bnt-master/KPMtools/mysize.m
new file mode 100644
index 00000000..40cb659c
--- /dev/null
+++ b/sourcecodes/bnt-master/KPMtools/mysize.m
@@ -0,0 +1,16 @@
+function sz = mysize(M)
+% MYSIZE Like the built-in size, except it returns n if M is a vector of length n, and 1 if M is a scalar.
+% sz = mysize(M)
+% 
+% The behavior is best explained by examples
+% - M = rand(1,1),   mysize(M) = 1,      size(M) = [1 1]
+% - M = rand(2,1),   mysize(M) = 2,      size(M) = [2 1]
+% - M = rand(1,2),   mysize(M) = 2,      size(M) = [1 2]
+% - M = rand(2,2,1), mysize(M) = [2 2],  size(M) = [2 2]
+% - M = rand(1,2,1), mysize(M) = 2,      size(M) = [1 2]
+
+if isvectorBNT(M)
+  sz = length(M);
+else
+  sz = size(M);
+end