about summary refs log tree commit diff
path: root/sourcecodes/bnt-master/KPMtools/draw_ellipse.m
diff options
context:
space:
mode:
Diffstat (limited to 'sourcecodes/bnt-master/KPMtools/draw_ellipse.m')
-rw-r--r--sourcecodes/bnt-master/KPMtools/draw_ellipse.m24
1 files changed, 24 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/KPMtools/draw_ellipse.m b/sourcecodes/bnt-master/KPMtools/draw_ellipse.m
new file mode 100644
index 00000000..4effef0f
--- /dev/null
+++ b/sourcecodes/bnt-master/KPMtools/draw_ellipse.m
@@ -0,0 +1,24 @@
+function h = draw_ellipse(x, c, outline_color, fill_color)
+% DRAW_ELLIPSE(x, c, outline_color, fill_color)
+%   Draws ellipses at centers x with covariance matrix c.
+%   x is a matrix of columns.  c is a positive definite matrix.
+%   outline_color and fill_color are optional.
+
+n = 40;					% resolution
+radians = [0:(2*pi)/(n-1):2*pi];
+unitC = [sin(radians); cos(radians)];
+r = chol(c)';
+
+if nargin < 3
+  outline_color = 'g';
+end
+
+h = [];
+for i=1:cols(x)
+  y = r*unitC + repmat(x(:, i), 1, n);
+  if nargin < 4
+    h = [h line(y(1,:), y(2,:), 'Color', outline_color)];
+  else
+    h = [h fill(y(1,:), y(2,:), fill_color, 'EdgeColor', outline_color)];
+  end
+end