diff scripts/signal/arma_rnd.m @ 5568:e9cde940b271

[project @ 2005-12-08 02:28:22 by jwe]
author jwe
date Thu, 08 Dec 2005 02:28:22 +0000
parents 4c8a2e4e0717
children 34f96dd5441b
line wrap: on
line diff
--- a/scripts/signal/arma_rnd.m	Wed Dec 07 06:31:28 2005 +0000
+++ b/scripts/signal/arma_rnd.m	Thu Dec 08 02:28:22 2005 +0000
@@ -42,46 +42,38 @@
 
 function x = arma_rnd (a, b, v, t, n)
 
-  save_warn_empty_list_elements = warn_empty_list_elements;
-  unwind_protect
-    warn_empty_list_elements = 0;
-
-    if (nargin == 4)
-      n = 100;
-    elseif (nargin == 5)
-      if (!isscalar (t))
-        error ("arma_rnd: n must be a scalar");
-      endif
-    else
-      usage ("arma_rnd (a, b, v, t, n)");
-    endif
-
-    if ((min (size (a)) > 1) || (min (size (b)) > 1))
-      error ("arma_rnd: a and b must not be matrices");
-    endif
-
+  if (nargin == 4)
+    n = 100;
+  elseif (nargin == 5)
     if (!isscalar (t))
-      error ("arma_rnd: t must be a scalar");
+      error ("arma_rnd: n must be a scalar");
     endif
-
-    ar = length (a);
-    br = length (b);
+  else
+    usage ("arma_rnd (a, b, v, t, n)");
+  endif
 
-    a = reshape (a, ar, 1);
-    b = reshape (b, br, 1);
+  if ((min (size (a)) > 1) || (min (size (b)) > 1))
+    error ("arma_rnd: a and b must not be matrices");
+  endif
 
-    a = [1; -a];                        # apply our notational convention
-    b = [1; b];
+  if (!isscalar (t))
+    error ("arma_rnd: t must be a scalar");
+  endif
 
-    n = min (n, ar + br);
+  ar = length (a);
+  br = length (b);
 
-    e = sqrt (v) * randn (t + n, 1);
+  a = reshape (a, ar, 1);
+  b = reshape (b, br, 1);
 
-    x = filter (b, a, e);
-    x = x(n + 1 : t + n);
+  a = [1; -a];                        # apply our notational convention
+  b = [1; b];
+
+  n = min (n, ar + br);
 
-  unwind_protect_cleanup
-    warn_empty_list_elements = save_warn_empty_list_elements;
-  end_unwind_protect
+  e = sqrt (v) * randn (t + n, 1);
+
+  x = filter (b, a, e);
+  x = x(n + 1 : t + n);
 
 endfunction