Revision: 11077
http://octave.svn.sourceforge.net/octave/?rev=11077&view=rev
Author: paramaniac
Date: 2012-09-22 10:30:58 +0000 (Sat, 22 Sep 2012)
Log Message:
-----------
control: finish multiplot initial and impulse functions
Modified Paths:
--------------
trunk/octave-forge/main/control/inst/impulse.m
trunk/octave-forge/main/control/inst/initial.m
Modified: trunk/octave-forge/main/control/inst/impulse.m
===================================================================
--- trunk/octave-forge/main/control/inst/impulse.m 2012-09-22 10:26:10 UTC (rev 11076)
+++ trunk/octave-forge/main/control/inst/impulse.m 2012-09-22 10:30:58 UTC (rev 11077)
@@ -1,4 +1,4 @@
-## Copyright (C) 2009 Lukas F. Reichlin
+## Copyright (C) 2009, 2012 Lukas F. Reichlin
##
## This file is part of LTI Syncope.
##
@@ -54,22 +54,35 @@
## Author: Lukas Reichlin <luk...@gm...>
## Created: October 2009
-## Version: 0.1
+## Version: 0.2
-function [y_r, t_r, x_r] = impulse (sys, tfinal = [], dt = [])
+function [y_r, t_r, x_r] = impulse (varargin)
- ## TODO: multiplot feature: impulse (sys1, "b", sys2, "r", ...)
-
- if (nargin == 0 || nargin > 3)
+ if (nargin == 0)
print_usage ();
endif
+
+ if (nargout)
+ sysname = {};
+ else
+ sys_idx = find (cellfun (@isa, varargin, {"lti"}));
+ len = length (sys_idx);
+ sysname = cell (len, 1);
+ for k = 1 : len
+ try
+ sysname{k} = inputname(sys_idx(k));
+ catch
+ sysname{k} = "";
+ end_try_catch
+ endfor
+ endif
- [y, t, x] = __time_response__ (sys, "impulse", ! nargout, tfinal, dt, [], inputname (1));
+ [y, t, x] = __time_response__ ("impulse", varargin, sysname, ! nargout);
if (nargout)
- y_r = y;
- t_r = t;
- x_r = x;
+ y_r = y{1};
+ t_r = t{1};
+ x_r = x{1};
endif
endfunction
Modified: trunk/octave-forge/main/control/inst/initial.m
===================================================================
--- trunk/octave-forge/main/control/inst/initial.m 2012-09-22 10:26:10 UTC (rev 11076)
+++ trunk/octave-forge/main/control/inst/initial.m 2012-09-22 10:30:58 UTC (rev 11077)
@@ -1,4 +1,4 @@
-## Copyright (C) 2009 Lukas F. Reichlin
+## Copyright (C) 2009, 2012 Lukas F. Reichlin
##
## This file is part of LTI Syncope.
##
@@ -66,22 +66,35 @@
## Author: Lukas Reichlin <luk...@gm...>
## Created: October 2009
-## Version: 0.1
+## Version: 0.2
-function [y_r, t_r, x_r] = initial (sys, x0, tfinal = [], dt = [])
+function [y_r, t_r, x_r] = initial (varargin)
- ## TODO: multiplot feature: initial (sys1, "b", sys2, "r", ..., x0, ...)
-
- if (nargin < 2 || nargin > 4)
+ if (nargin < 2)
print_usage ();
endif
- [y, t, x] = __time_response__ (sys, "initial", ! nargout, tfinal, dt, x0, inputname (1));
+ if (nargout)
+ sysname = {};
+ else
+ sys_idx = find (cellfun (@isa, varargin, {"lti"}));
+ len = length (sys_idx);
+ sysname = cell (len, 1);
+ for k = 1 : len
+ try
+ sysname{k} = inputname(sys_idx(k));
+ catch
+ sysname{k} = "";
+ end_try_catch
+ endfor
+ endif
+ [y, t, x] = __time_response__ ("initial", varargin, sysname, ! nargout);
+
if (nargout)
- y_r = y;
- t_r = t;
- x_r = x;
+ y_r = y{1};
+ t_r = t{1};
+ x_r = x{1};
endif
endfunction
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|