From: <car...@us...> - 2011-09-30 14:08:08
|
Revision: 8641 http://octave.svn.sourceforge.net/octave/?rev=8641&view=rev Author: carandraug Date: 2011-09-30 14:08:01 +0000 (Fri, 30 Sep 2011) Log Message: ----------- impinvar/invimpinvar: small bug fix where tol was hardcoded in auxiliary function Modified Paths: -------------- trunk/octave-forge/main/signal/inst/impinvar.m trunk/octave-forge/main/signal/inst/invimpinvar.m trunk/octave-forge/main/signal/inst/private/inv_residue.m Modified: trunk/octave-forge/main/signal/inst/impinvar.m =================================================================== --- trunk/octave-forge/main/signal/inst/impinvar.m 2011-09-30 13:42:44 UTC (rev 8640) +++ trunk/octave-forge/main/signal/inst/impinvar.m 2011-09-30 14:08:01 UTC (rev 8641) @@ -77,7 +77,7 @@ i++; % Next s-domain residue/pole endwhile - [b_out, a_out] = inv_residue(r_out, p_out, k_out); + [b_out, a_out] = inv_residue(r_out, p_out, k_out, tol); a_out = to_real(a_out); % Get rid of spurious imaginary part b_out = to_real(b_out); b_out = polyreduce(b_out); Modified: trunk/octave-forge/main/signal/inst/invimpinvar.m =================================================================== --- trunk/octave-forge/main/signal/inst/invimpinvar.m 2011-09-30 13:42:44 UTC (rev 8640) +++ trunk/octave-forge/main/signal/inst/invimpinvar.m 2011-09-30 14:08:01 UTC (rev 8641) @@ -43,6 +43,12 @@ print_usage; endif + ## to be compatible with the matlab implementation where an empty vector can + ## be used to get the default + if (isempty(ts)) + ts = 1; + endif + [r_in, p_in, k_in] = residue(b_in, a_in); % partial fraction expansion n = length(r_in); % Number of poles/residues @@ -69,7 +75,7 @@ i++; % Next z-domain residue/pole endwhile - [b_out, a_out] = inv_residue(r_out, sm_out ,0); + [b_out, a_out] = inv_residue(r_out, sm_out , 0, tol); a_out = to_real(a_out); % Get rid of spurious imaginary part b_out = to_real(b_out); b_out = polyreduce(b_out); Modified: trunk/octave-forge/main/signal/inst/private/inv_residue.m =================================================================== --- trunk/octave-forge/main/signal/inst/private/inv_residue.m 2011-09-30 13:42:44 UTC (rev 8640) +++ trunk/octave-forge/main/signal/inst/private/inv_residue.m 2011-09-30 14:08:01 UTC (rev 8641) @@ -18,10 +18,8 @@ ## This function is necessary for impinvar and invimpinvar of the signal package ## Inverse of Octave residue function -function [b_out, a_out] = inv_residue(r_in, p_in, k_in) +function [b_out, a_out] = inv_residue(r_in, p_in, k_in, tol) - tol=0.0001; - n = length(r_in); % Number of poles/residues k = 0; % Capture contstant term This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |