From: <par...@us...> - 2012-04-04 08:36:24
|
Revision: 10140 http://octave.svn.sourceforge.net/octave/?rev=10140&view=rev Author: paramaniac Date: 2012-04-04 08:36:18 +0000 (Wed, 04 Apr 2012) Log Message: ----------- control-devel: touch up fft method Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/@iddata/fft.m Modified: trunk/octave-forge/extra/control-devel/inst/@iddata/fft.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/@iddata/fft.m 2012-04-03 20:53:27 UTC (rev 10139) +++ trunk/octave-forge/extra/control-devel/inst/@iddata/fft.m 2012-04-04 08:36:18 UTC (rev 10140) @@ -28,18 +28,27 @@ ## Created: April 2012 ## Version: 0.1 -function dat = fft (dat, n) +function dat = fft (dat, n = []) if (nargin > 2) # no need to test nargin == 0, this is handled by built-in fft print_usage (); endif + + if (isempty (n)) + n = num2cell (size (dat, 1)); + else + + endif % if ((! is_real_scalar (ord) || fix (ord) != ord) && ! ischar (ord)) # chars are handled by built-in detrend % error ("iddata: detrend: second argument must be a positve integer"); % endif - dat.y = cellfun (@fft, dat.y, "uniformoutput", false); - dat.u = cellfun (@fft, dat.u, "uniformoutput", false); +% dat.y = cellfun (@fft, dat.y, "uniformoutput", false); +% dat.u = cellfun (@fft, dat.u, "uniformoutput", false); + + dat.y = cellfun (@(y, n) fft (y, n) / sqrt (n), dat.y, n, "uniformoutput", false); + dat.u = cellfun (@(u, n) fft (u, n) / sqrt (n), dat.u, n, "uniformoutput", false); dat.timedomain = false; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |