From: <car...@us...> - 2011-11-20 20:14:37
|
Revision: 9149 http://octave.svn.sourceforge.net/octave/?rev=9149&view=rev Author: carandraug Date: 2011-11-20 20:14:29 +0000 (Sun, 20 Nov 2011) Log Message: ----------- Move NEWS file for package root so that pkg and news in core can find it during package install Modified Paths: -------------- trunk/octave-forge/admin/list_inactive_users.pl trunk/octave-forge/main/specfun/inst/Ci.m trunk/octave-forge/main/specfun/inst/Si.m trunk/octave-forge/main/specfun/inst/cosint.m trunk/octave-forge/main/specfun/inst/dirac.m trunk/octave-forge/main/specfun/inst/ellipj.m trunk/octave-forge/main/specfun/inst/ellipke.m trunk/octave-forge/main/specfun/inst/erfcinv.m trunk/octave-forge/main/specfun/inst/expint.m trunk/octave-forge/main/specfun/inst/expint_E1.m trunk/octave-forge/main/specfun/inst/expint_Ei.m trunk/octave-forge/main/specfun/inst/laguerre.m trunk/octave-forge/main/specfun/inst/lambertw.m trunk/octave-forge/main/specfun/inst/laplacian.m trunk/octave-forge/main/specfun/inst/sinint.m trunk/octave-forge/main/specfun/inst/zeta.m trunk/octave-forge/main/specfun/src/ellipj.cc trunk/octave-forge/main/statistics/NEWS Added Paths: ----------- trunk/octave-forge/main/control/NEWS trunk/octave-forge/main/mechanics/NEWS Removed Paths: ------------- trunk/octave-forge/main/control/doc/NEWS trunk/octave-forge/main/mechanics/doc/NEWS Modified: trunk/octave-forge/admin/list_inactive_users.pl =================================================================== --- trunk/octave-forge/admin/list_inactive_users.pl 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/admin/list_inactive_users.pl 2011-11-20 20:14:29 UTC (rev 9149) @@ -37,8 +37,8 @@ ################################################################################ ## Configuration variables ################################################################################ -my $repo_path = '~/development/octave-forge/'; # path for the repository -my $date_limit = '2010-04-01'; # give date in format YYYY-MM-DD +my $repo_path = '~/development/octave-forge/main/'; # path for the repository +my $date_limit = '2011-01-01'; # give date in format YYYY-MM-DD my $sf_dev_list = 'http://sourceforge.net/project/memberlist.php?group_id=2888'; # URL for sourceforge project member list ################################################################################ @@ -50,6 +50,7 @@ ## runs svn log -q -r my @output = `svn log -q -r HEAD:{$date_limit} $repo_path`; +my %active; foreach my $line (@output) { next if '-' eq substr $line, 0, 1; # next if 1st character is a dash ## the following regexp reads: a "r" at the start of the line followed by at @@ -61,12 +62,17 @@ $line =~ m/^r\d+\s+\|\s+((\w|\-)+)\s+/i; my $name = $1; ## delete key with the found username (NOT just remove the value) + $active{$name}++; delete $names{$name}; } ## get list of keys, sort them alphabetically and join them with a newline for print +say "These are inactive users since $date_limit"; say join ("\n", sort keys %names); +say "These are active users since $date_limit"; +for (sort keys %active) { + say "$active{$_}\t by $_"; +} - ## this function takes the URL for the page with the member list and returns an ## hash table with their usernames as keys. The values for the keys is always true. ## A hash was used instead of a list to make it easier and faster to search and Copied: trunk/octave-forge/main/control/NEWS (from rev 9148, trunk/octave-forge/main/control/doc/NEWS) =================================================================== --- trunk/octave-forge/main/control/NEWS (rev 0) +++ trunk/octave-forge/main/control/NEWS 2011-11-20 20:14:29 UTC (rev 9149) @@ -0,0 +1,228 @@ +Summary of important user-visible changes for releases of the control package + +=============================================================================== +control-2.2.2 Release Date: 2011-xx-yy Release Manager: Lukas Reichlin +=============================================================================== + +** Improved error messages for ARE solvers and robust control commands. + + +=============================================================================== +control-2.2.1 Release Date: 2011-10-24 Release Manager: Lukas Reichlin +=============================================================================== + +** tf + -- Fixed a nasty bug that prevented shortening of numerator and denominator + polynomials consisting solely of zeros. + -- MIMO support for descriptor state-space to transfer function conversion. + Usage: tf_sys = tf (dss_sys) + -- MIMO support for interconnections of non-proper transfer functions via + internal conversion to state-space. + +** ss + -- Support conversion from non-proper transfer function to descriptor state- + space. Usage: dss_sys = ss (tf_sys) + +** c2d, d2c + -- Support bilinear transformation of descriptor state-space models. + +** inv + -- Support the inversion of MIMO transfer functions. Inverses of 2x2 TFs are + computed directly, larger models are computed internally in state-space. + +** place + -- Return the number of fixed, assigned and uncontrollable poles in a single + "info" struct instead of three individual output arguments. + +** rlocus + -- Clarify usage statement in help string. + -- Check whether system is SISO. + +** MDSSystem + -- Display bode plots of controllers instead of singular value plots of the + closed loops. + +** hsvd + -- Added option "alpha" to specify the alpha-stability boundary for the + eigenvalues of the state dynamics matrix A. + +** isctrb, isobsv + -- Return number of controllable/observable states as a second output + argument. + +** doc/control.pdf + -- Added preface to PDF manual. + + +=============================================================================== +control-2.2.0 Release Date: 2011-09-26 Release Manager: Lukas Reichlin +=============================================================================== + +** ss + -- Transfer function to state-space conversion uses now SLICOT TD04AD. + Conversion of MIMO models is now supported. Usage: ss_sys = ss (tf_sys) + +** tf + -- Support for interconnections of MIMO transfer functions. This is done by + an internal conversion to a minimal state-space representation. With the + current tf2ss and ss2tf conversions, only proper transfer function are + supported. This limitation does not exist for SISO transfer functions. + -- Fixed a cellfun statement that caused problems on MinGW32 builds and + possibly some others. (Reported by Bernhard Weller) + +** pole, zero + -- Computation of poles and zeros of MIMO transfer functions is now possible + via conversion to state-space. Please note that the state-space + realization of SLICOT TD04AD is a minimal one. Therefore certain poles + and zeros might be missing. + +** zpk, zpkdata + -- Included wrappers that create transfer function models from zero-pole-gain + data (zpk) and zero-pole-gain data from lti models (zpkdata). They are + stop-gap measures for compatibility until ZPK models are implemented. + +** tfdata + -- "vector" option added. For SISO models, it returns numerator and + denominator directly as column vectors instead of cells containing a + single column vector. + +** doc/control.pdf + -- Revised PDF manual. + + +=============================================================================== +control-2.1.55 Release Date: 2011-09-07 Release Manager: Lukas Reichlin +=============================================================================== + +** c2d + -- Support for "tustin" and "prewarp" method added. + -- Transfer functions are now supported via the state-space methods. + -- Improved Texinfo string. + +** d2c + -- Discrete to continuous-time conversion added. However, support is + limited to the zero-order hold, tustin and pre-warping methods. + +** Conversion from descriptor to regular state-space is now performed by SLICOT + routine SB10JD. Better numerical results are to be expected over the + previous naive inversion formula. This conversion is used internally for + ssdata and some other functions. + + +=============================================================================== +control-2.1.54 Release Date: 2011-08-22 Release Manager: Lukas Reichlin +=============================================================================== + +** tf + -- State-space to transfer function conversion uses now SLICOT TB04BD. + Conversion of MIMO models is now supported. Usage: tf_sys = tf (ss_sys) + -- Display an empty line between title and numerator for better readability. + -- Display whether model is static, continuous- or discrete-time. + +** A PDF manual is included for the first time. It is located inside the "doc" + folder. It has been generated automatically from the Texinfo help strings + and is not yet completely sorted out. + + +=============================================================================== +control-2.1.53 Release Date: 2011-08-08 Release Manager: Lukas Reichlin +=============================================================================== + +** ncfsyn + -- Added support for McFarlane/Glover loop shaping design procedure. + "ncfsyn" stands for Normalized Coprime Factor Synthesis. + +** MDSSystem + -- Added example script which demonstrates the usage of the robust control + commands "mixsyn" and "ncfsyn". + +** Texinfo help strings of several functions have been extended, although + documentation still leaves a lot to be desired. + + +=============================================================================== +control-2.1.52 Release Date: 2011-07-27 Release Manager: Lukas Reichlin +=============================================================================== + +** hsvd + -- Use scaling unless state-space model property "scaled" is set to true. + +** norm + -- Use scaling for computation of L-infinity norm unless state-space model + property "scaled" is set to true. + +** minreal + -- Use scaling for state-space and descriptor state-space models unless + property "scaled" is set to true. + -- More accurate results are to be expected for descriptor state-space + models by performing only those reduction phases where effective order + reduction occurs. This is achieved by saving the system matrices before + each phase and restoring them if no order reduction took place. + +** zero + -- Use scaling for state-space and descriptor state-space models unless + property "scaled" is set to true. + +** frdata + -- The frequency response is now returned correctly as an array and not as a + vector, unless the "vector" option is set and the system is single-input + single-output. + -- Added help text. + + +=============================================================================== +control-2.1.51 Release Date: 2011-07-21 Release Manager: Lukas Reichlin +=============================================================================== + +** frd + -- Support for Frequency Response Data (frd) measurement "models". + + +=============================================================================== +control-2.1.50 Release Date: 2011-07-06 Release Manager: Lukas Reichlin +=============================================================================== + +** ss + -- Support for property "scaled". By default, it is set to "false". + +** prescale + -- Scaling for state-space models (SLICOT TB01ID) and descriptor models + (SLICOT TG01AD). + +** freqresp + -- Scale state-space models using @lti/prescale.m if property "scaled" is + set to "false". Frequency response commands now perform automatic + scaling unless model property "scaled" is set to "true". + + +=============================================================================== +control-2.0.2 Release Date: 2011-03-18 Release Manager: Lukas Reichlin +=============================================================================== + +** lsim + -- Fixed a logical error that refused valid initial state vectors. It was + due to a thinko introduced with the changes in control-2.0.1. + (Thanks to Rob Frohne) + + +=============================================================================== +control-2.0.1 Release Date: 2011-03-06 Release Manager: Lukas Reichlin +=============================================================================== + +** lsim + -- Support time vectors not starting at zero. (Thanks to Rob Frohne) + -- Improved help text. + +** zero + -- The gain of descriptor state-space models is now computed correctly. + (fingers crossed) + + +=============================================================================== +control-2.0.0 Release Date: 2011-02-08 Release Manager: Lukas Reichlin +=============================================================================== + +** First official release. + + +=============================================================================== Deleted: trunk/octave-forge/main/control/doc/NEWS =================================================================== --- trunk/octave-forge/main/control/doc/NEWS 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/control/doc/NEWS 2011-11-20 20:14:29 UTC (rev 9149) @@ -1,228 +0,0 @@ -Summary of important user-visible changes for releases of the control package - -=============================================================================== -control-2.2.2 Release Date: 2011-xx-yy Release Manager: Lukas Reichlin -=============================================================================== - -** Improved error messages for ARE solvers and robust control commands. - - -=============================================================================== -control-2.2.1 Release Date: 2011-10-24 Release Manager: Lukas Reichlin -=============================================================================== - -** tf - -- Fixed a nasty bug that prevented shortening of numerator and denominator - polynomials consisting solely of zeros. - -- MIMO support for descriptor state-space to transfer function conversion. - Usage: tf_sys = tf (dss_sys) - -- MIMO support for interconnections of non-proper transfer functions via - internal conversion to state-space. - -** ss - -- Support conversion from non-proper transfer function to descriptor state- - space. Usage: dss_sys = ss (tf_sys) - -** c2d, d2c - -- Support bilinear transformation of descriptor state-space models. - -** inv - -- Support the inversion of MIMO transfer functions. Inverses of 2x2 TFs are - computed directly, larger models are computed internally in state-space. - -** place - -- Return the number of fixed, assigned and uncontrollable poles in a single - "info" struct instead of three individual output arguments. - -** rlocus - -- Clarify usage statement in help string. - -- Check whether system is SISO. - -** MDSSystem - -- Display bode plots of controllers instead of singular value plots of the - closed loops. - -** hsvd - -- Added option "alpha" to specify the alpha-stability boundary for the - eigenvalues of the state dynamics matrix A. - -** isctrb, isobsv - -- Return number of controllable/observable states as a second output - argument. - -** doc/control.pdf - -- Added preface to PDF manual. - - -=============================================================================== -control-2.2.0 Release Date: 2011-09-26 Release Manager: Lukas Reichlin -=============================================================================== - -** ss - -- Transfer function to state-space conversion uses now SLICOT TD04AD. - Conversion of MIMO models is now supported. Usage: ss_sys = ss (tf_sys) - -** tf - -- Support for interconnections of MIMO transfer functions. This is done by - an internal conversion to a minimal state-space representation. With the - current tf2ss and ss2tf conversions, only proper transfer function are - supported. This limitation does not exist for SISO transfer functions. - -- Fixed a cellfun statement that caused problems on MinGW32 builds and - possibly some others. (Reported by Bernhard Weller) - -** pole, zero - -- Computation of poles and zeros of MIMO transfer functions is now possible - via conversion to state-space. Please note that the state-space - realization of SLICOT TD04AD is a minimal one. Therefore certain poles - and zeros might be missing. - -** zpk, zpkdata - -- Included wrappers that create transfer function models from zero-pole-gain - data (zpk) and zero-pole-gain data from lti models (zpkdata). They are - stop-gap measures for compatibility until ZPK models are implemented. - -** tfdata - -- "vector" option added. For SISO models, it returns numerator and - denominator directly as column vectors instead of cells containing a - single column vector. - -** doc/control.pdf - -- Revised PDF manual. - - -=============================================================================== -control-2.1.55 Release Date: 2011-09-07 Release Manager: Lukas Reichlin -=============================================================================== - -** c2d - -- Support for "tustin" and "prewarp" method added. - -- Transfer functions are now supported via the state-space methods. - -- Improved Texinfo string. - -** d2c - -- Discrete to continuous-time conversion added. However, support is - limited to the zero-order hold, tustin and pre-warping methods. - -** Conversion from descriptor to regular state-space is now performed by SLICOT - routine SB10JD. Better numerical results are to be expected over the - previous naive inversion formula. This conversion is used internally for - ssdata and some other functions. - - -=============================================================================== -control-2.1.54 Release Date: 2011-08-22 Release Manager: Lukas Reichlin -=============================================================================== - -** tf - -- State-space to transfer function conversion uses now SLICOT TB04BD. - Conversion of MIMO models is now supported. Usage: tf_sys = tf (ss_sys) - -- Display an empty line between title and numerator for better readability. - -- Display whether model is static, continuous- or discrete-time. - -** A PDF manual is included for the first time. It is located inside the "doc" - folder. It has been generated automatically from the Texinfo help strings - and is not yet completely sorted out. - - -=============================================================================== -control-2.1.53 Release Date: 2011-08-08 Release Manager: Lukas Reichlin -=============================================================================== - -** ncfsyn - -- Added support for McFarlane/Glover loop shaping design procedure. - "ncfsyn" stands for Normalized Coprime Factor Synthesis. - -** MDSSystem - -- Added example script which demonstrates the usage of the robust control - commands "mixsyn" and "ncfsyn". - -** Texinfo help strings of several functions have been extended, although - documentation still leaves a lot to be desired. - - -=============================================================================== -control-2.1.52 Release Date: 2011-07-27 Release Manager: Lukas Reichlin -=============================================================================== - -** hsvd - -- Use scaling unless state-space model property "scaled" is set to true. - -** norm - -- Use scaling for computation of L-infinity norm unless state-space model - property "scaled" is set to true. - -** minreal - -- Use scaling for state-space and descriptor state-space models unless - property "scaled" is set to true. - -- More accurate results are to be expected for descriptor state-space - models by performing only those reduction phases where effective order - reduction occurs. This is achieved by saving the system matrices before - each phase and restoring them if no order reduction took place. - -** zero - -- Use scaling for state-space and descriptor state-space models unless - property "scaled" is set to true. - -** frdata - -- The frequency response is now returned correctly as an array and not as a - vector, unless the "vector" option is set and the system is single-input - single-output. - -- Added help text. - - -=============================================================================== -control-2.1.51 Release Date: 2011-07-21 Release Manager: Lukas Reichlin -=============================================================================== - -** frd - -- Support for Frequency Response Data (frd) measurement "models". - - -=============================================================================== -control-2.1.50 Release Date: 2011-07-06 Release Manager: Lukas Reichlin -=============================================================================== - -** ss - -- Support for property "scaled". By default, it is set to "false". - -** prescale - -- Scaling for state-space models (SLICOT TB01ID) and descriptor models - (SLICOT TG01AD). - -** freqresp - -- Scale state-space models using @lti/prescale.m if property "scaled" is - set to "false". Frequency response commands now perform automatic - scaling unless model property "scaled" is set to "true". - - -=============================================================================== -control-2.0.2 Release Date: 2011-03-18 Release Manager: Lukas Reichlin -=============================================================================== - -** lsim - -- Fixed a logical error that refused valid initial state vectors. It was - due to a thinko introduced with the changes in control-2.0.1. - (Thanks to Rob Frohne) - - -=============================================================================== -control-2.0.1 Release Date: 2011-03-06 Release Manager: Lukas Reichlin -=============================================================================== - -** lsim - -- Support time vectors not starting at zero. (Thanks to Rob Frohne) - -- Improved help text. - -** zero - -- The gain of descriptor state-space models is now computed correctly. - (fingers crossed) - - -=============================================================================== -control-2.0.0 Release Date: 2011-02-08 Release Manager: Lukas Reichlin -=============================================================================== - -** First official release. - - -=============================================================================== Copied: trunk/octave-forge/main/mechanics/NEWS (from rev 9148, trunk/octave-forge/main/mechanics/doc/NEWS) =================================================================== --- trunk/octave-forge/main/mechanics/NEWS (rev 0) +++ trunk/octave-forge/main/mechanics/NEWS 2011-11-20 20:14:29 UTC (rev 9149) @@ -0,0 +1,49 @@ +Summary of important user-visible changes for releases of the mechanics package + +=============================================================================== +mechanics-1.0.0 Release Date: 2011-09-26 Release Manager: Juan Pablo Carbajal +=============================================================================== + +** First official release. + +=============================================================================== +mechanics-1.0.1 Release Date: 2011-09-27 Release Manager: Juan Pablo Carbajal +=============================================================================== + +Improvements in docstrings of all functions. + +=============================================================================== +mechanics-1.1.0 Release Date: 2011-10-05 Release Manager: Juan Pablo Carbajal +=============================================================================== + +* verletstep : Verlet integrator. +* verletstep_boxed: idem with periodic boundary conditions. +* mdsim: Integrates a system of particle susing the algorithms above. +* several helper functions. +* Package ocframe integrated. + +=============================================================================== +mechanics-1.2.0 Release Date: 2011-10-16 Release Manager: Juan Pablo Carbajal +=============================================================================== + +* Rigid body object representation +@rigidbody +@rigidbody/display.m +@rigidbody/plot.m +@rigidbody/rigidbody.m +@rigidbody/subsref.m + inertiamoment.m + masscenter.m + +* deprecating +area_poly2d.m +center_mass_poly2d.m +inertia_moment_ncpoly2d.m +inertia_moment_poly2d.m +second_moment_poly2d.m + +* Added inverse to vech +* Minor fixes to other functions + +=============================================================================== + Deleted: trunk/octave-forge/main/mechanics/doc/NEWS =================================================================== --- trunk/octave-forge/main/mechanics/doc/NEWS 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/mechanics/doc/NEWS 2011-11-20 20:14:29 UTC (rev 9149) @@ -1,49 +0,0 @@ -Summary of important user-visible changes for releases of the mechanics package - -=============================================================================== -mechanics-1.0.0 Release Date: 2011-09-26 Release Manager: Juan Pablo Carbajal -=============================================================================== - -** First official release. - -=============================================================================== -mechanics-1.0.1 Release Date: 2011-09-27 Release Manager: Juan Pablo Carbajal -=============================================================================== - -Improvements in docstrings of all functions. - -=============================================================================== -mechanics-1.1.0 Release Date: 2011-10-05 Release Manager: Juan Pablo Carbajal -=============================================================================== - -* verletstep : Verlet integrator. -* verletstep_boxed: idem with periodic boundary conditions. -* mdsim: Integrates a system of particle susing the algorithms above. -* several helper functions. -* Package ocframe integrated. - -=============================================================================== -mechanics-1.2.0 Release Date: 2011-10-16 Release Manager: Juan Pablo Carbajal -=============================================================================== - -* Rigid body object representation -@rigidbody -@rigidbody/display.m -@rigidbody/plot.m -@rigidbody/rigidbody.m -@rigidbody/subsref.m - inertiamoment.m - masscenter.m - -* deprecating -area_poly2d.m -center_mass_poly2d.m -inertia_moment_ncpoly2d.m -inertia_moment_poly2d.m -second_moment_poly2d.m - -* Added inverse to vech -* Minor fixes to other functions - -=============================================================================== - Modified: trunk/octave-forge/main/specfun/inst/Ci.m =================================================================== --- trunk/octave-forge/main/specfun/inst/Ci.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/Ci.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -24,13 +24,13 @@ ##See also : cosint, Si, sinint, expint, expint_Ei. function y = Ci(z) - if (nargin != 1) - usage ("Ci(x)"); - endif - y = z; - y(z == 0) = -Inf; - y(real(z) == 0 & imag(z) >0) = 0.5*(expint_Ei(i.*y(real(z) == 0 & imag(z) >0))+expint_Ei(-i.*y(real(z) == 0 & imag(z) >0)))+ i.*pi./2; - y(real(z) == 0 & imag(z) <0) = 0.5*(expint_Ei(i.*y(real(z) == 0 & imag(z) <0))+expint_Ei(-i.*y(real(z) == 0 & imag(z) <0)))-i*pi./2; - y(real(z)>=0) = -0.5.*(expint_E1(i.*y(real(z)>=0) )+expint_E1(-i.*y(real(z)>=0) )); - y(real(z)<0) = -0.5.*(expint_E1(-i.*y(real(z)<0))+expint_E1(i.*y(real(z)<0)))+i*pi; + if (nargin != 1) + print_usage; + endif + y = z; + y(z == 0) = -Inf; + y(real(z) == 0 & imag(z) >0) = 0.5*(expint_Ei(i.*y(real(z) == 0 & imag(z) >0))+expint_Ei(-i.*y(real(z) == 0 & imag(z) >0)))+ i.*pi./2; + y(real(z) == 0 & imag(z) <0) = 0.5*(expint_Ei(i.*y(real(z) == 0 & imag(z) <0))+expint_Ei(-i.*y(real(z) == 0 & imag(z) <0)))-i*pi./2; + y(real(z)>=0) = -0.5.*(expint_E1(i.*y(real(z)>=0) )+expint_E1(-i.*y(real(z)>=0) )); + y(real(z)<0) = -0.5.*(expint_E1(-i.*y(real(z)<0))+expint_E1(i.*y(real(z)<0)))+i*pi; endfunction; Modified: trunk/octave-forge/main/specfun/inst/Si.m =================================================================== --- trunk/octave-forge/main/specfun/inst/Si.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/Si.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -23,19 +23,19 @@ ## function y = Si(x) - if (nargin != 1) - usage ("Si(x)"); - endif - y = zeros(size(x)); - if prod(size(x)) < 101 - for k = 1:prod(size(x)) - y(k) = sum(besselj([0:100]+0.5,(x(k)/2)).^2); - endfor - y = y.*pi; - else - for k=0:100 - y += besselj(k+0.5,x/2).^2; - endfor - y = y.*pi; - endif -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = zeros(size(x)); + if prod(size(x)) < 101 + for k = 1:prod(size(x)) + y(k) = sum(besselj([0:100]+0.5,(x(k)/2)).^2); + endfor + y = y.*pi; + else + for k=0:100 + y += besselj(k+0.5,x/2).^2; + endfor + y = y.*pi; + endif +endfunction Modified: trunk/octave-forge/main/specfun/inst/cosint.m =================================================================== --- trunk/octave-forge/main/specfun/inst/cosint.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/cosint.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -24,8 +24,8 @@ ##See also : Ci, Si, sinint, expint, expint_Ei. function y = cosint(z) - if (nargin != 1) - usage ("cosint(x)"); - endif - y = Ci(z); -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = Ci(z); +endfunction; Modified: trunk/octave-forge/main/specfun/inst/dirac.m =================================================================== --- trunk/octave-forge/main/specfun/inst/dirac.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/dirac.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -20,9 +20,9 @@ ## @end deftypefn function y = dirac(x) - if (nargin != 1) - usage ("dirac(x)"); - endif - y = double(x == 0.); - y(x == 0) = Inf; -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = double(x == 0.); + y(x == 0) = Inf; +endfunction; Modified: trunk/octave-forge/main/specfun/inst/ellipj.m =================================================================== --- trunk/octave-forge/main/specfun/inst/ellipj.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/ellipj.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -47,7 +47,7 @@ function [sn, cn, dn] = ellipj (u, m) if nargin < 2 || nargin > 3 - usage("[sn, cn, dn] = ellipj (u, m)"); + print_usage; endif [err, u, m] = common_size(u,m); if any(size(m) != size(u)) Modified: trunk/octave-forge/main/specfun/inst/ellipke.m =================================================================== --- trunk/octave-forge/main/specfun/inst/ellipke.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/ellipke.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -42,7 +42,7 @@ function [k,e] = ellipke( m ) if (nargin < 1 || nargin > 2) - usage("[k, e] = ellipke (m)"); + print_usage; endif k = e = zeros(size(m)); Modified: trunk/octave-forge/main/specfun/inst/erfcinv.m =================================================================== --- trunk/octave-forge/main/specfun/inst/erfcinv.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/erfcinv.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -20,8 +20,8 @@ ## @end deftypefn function y = erfcinv(x) - if (nargin != 1) - usage ("erfcinv(x)"); - endif - y = erfinv(1-x); -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = erfinv(1-x); +endfunction; Modified: trunk/octave-forge/main/specfun/inst/expint.m =================================================================== --- trunk/octave-forge/main/specfun/inst/expint.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/expint.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -24,8 +24,8 @@ ## See also expint_Ei, expint_E1. function y = expint(x) - if (nargin != 1) - usage ("expint(x)"); - endif - y = expint_E1(x); -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = expint_E1(x); +endfunction; Modified: trunk/octave-forge/main/specfun/inst/expint_E1.m =================================================================== --- trunk/octave-forge/main/specfun/inst/expint_E1.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/expint_E1.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -24,12 +24,12 @@ ## See also expint_Ei, expint. function y = expint_E1(x) - if (nargin != 1) - usage ("expint_E1(x)"); - endif - y = x; - y(imag(x) > 0 & imag(x) != 0) = -expint_Ei(-y(imag(x) > 0 & imag(x) != 0)) -i.*pi; - y(imag(x) < 0 & imag(x) != 0) = -expint_Ei(-y(imag(x) < 0 & imag(x) != 0)) +i.*pi; - y(real(x) >= 0 & imag(x)==0) = -expint_Ei(-y(real(x) >= 0 & imag(x)==0)); - y(real(x) < 0 & imag(x)==0) = -expint_Ei(-y(real(x) < 0 & imag(x)==0)) -i.*pi; -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = x; + y(imag(x) > 0 & imag(x) != 0) = -expint_Ei(-y(imag(x) > 0 & imag(x) != 0)) -i.*pi; + y(imag(x) < 0 & imag(x) != 0) = -expint_Ei(-y(imag(x) < 0 & imag(x) != 0)) +i.*pi; + y(real(x) >= 0 & imag(x)==0) = -expint_Ei(-y(real(x) >= 0 & imag(x)==0)); + y(real(x) < 0 & imag(x)==0) = -expint_Ei(-y(real(x) < 0 & imag(x)==0)) -i.*pi; +endfunction; Modified: trunk/octave-forge/main/specfun/inst/expint_Ei.m =================================================================== --- trunk/octave-forge/main/specfun/inst/expint_Ei.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/expint_Ei.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -24,37 +24,37 @@ ## See also expint, expint_E1. function y = expint_Ei(x) - if (nargin != 1) - usage ("expint_Ei(x)"); - endif - y = zeros(size(x)); - F = @(x) exp(-x)./x; - s = prod(size(x)); - for t = 1:s; - if(x(t)<0 && imag(x(t)) == 0) - y(t) = -quad(F,-x(t),Inf); - else - if(abs(x(t)) > 2 && imag(x(t)) == 0) - y(t) = expint_Ei(2) - quad(F,-x(t),-2); - else - if(abs(x(t)) >= 10) - if(imag(x(t)) <= 0) - a1 = 4.03640; - a2 = 1.15198; - b1 = 5.03637; - b2 = 4.19160; - y(t) = -(x(t).^2 - a1.*x(t) + a2)./((x(t).^2-b1.*x(t)+b2).*(-x(t)).*exp(-x(t)))-i.*pi; - else - y(t) = conj(expint_Ei(conj(x(t)))); - endif; - ## Serie Expansion - else - for k = 1:100; - y(t) = y(t) + x(t).^k./(k.*factorial(k)); - endfor - y(t) = 0.577215664901532860606512090082402431 + log(x(t)) + y(t); - endif - endif - endif; - endfor -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + y = zeros(size(x)); + F = @(x) exp(-x)./x; + s = prod(size(x)); + for t = 1:s; + if(x(t)<0 && imag(x(t)) == 0) + y(t) = -quad(F,-x(t),Inf); + else + if(abs(x(t)) > 2 && imag(x(t)) == 0) + y(t) = expint_Ei(2) - quad(F,-x(t),-2); + else + if(abs(x(t)) >= 10) + if(imag(x(t)) <= 0) + a1 = 4.03640; + a2 = 1.15198; + b1 = 5.03637; + b2 = 4.19160; + y(t) = -(x(t).^2 - a1.*x(t) + a2)./((x(t).^2-b1.*x(t)+b2).*(-x(t)).*exp(-x(t)))-i.*pi; + else + y(t) = conj(expint_Ei(conj(x(t)))); + endif; + ## Serie Expansion + else + for k = 1:100; + y(t) = y(t) + x(t).^k./(k.*factorial(k)); + endfor + y(t) = 0.577215664901532860606512090082402431 + log(x(t)) + y(t); + endif + endif + endif; + endfor +endfunction; Modified: trunk/octave-forge/main/specfun/inst/laguerre.m =================================================================== --- trunk/octave-forge/main/specfun/inst/laguerre.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/laguerre.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -23,12 +23,10 @@ function [y,p]=laguerre(x,n) - if nargchk(2,2,nargin) - usage("laguerre.m: [y,p]=laguerre(x,n)"); - end; - - if (n<0) || ~isscalar(n) - error("laguerre.m: n must be a positive integer"); + if (nargin != 2) + print_usage; + elseif (n < 0 || !isscalar (n)) + error("second argument 'n' must be a positive integer"); endif p0=1; Modified: trunk/octave-forge/main/specfun/inst/lambertw.m =================================================================== --- trunk/octave-forge/main/specfun/inst/lambertw.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/lambertw.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -48,9 +48,8 @@ b = 0; else %% some error checking - % if (nargin != 2) - usage('result = lambertw(branch, argument)') + print_usage; else if (any(round(real(b)) != b)) usage('branch number for lambertw must be integer') Modified: trunk/octave-forge/main/specfun/inst/laplacian.m =================================================================== --- trunk/octave-forge/main/specfun/inst/laplacian.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/laplacian.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -112,19 +112,10 @@ function [lambda, V, A] = laplacian(varargin) % Input/Output handling. - if nargin > 3 - error('BLOPEX:laplacian:TooManyInputs',... - '%s','Too many input arguments.'); - elseif nargin == 0 - error('BLOPEX:laplacian:NoInputArguments',... - '%s','Must have at least one input argument.'); - end + if (nargin < 1 || nargin > 3) + print_usage; + endif - if nargout > 3 - error('BLOPEX:laplacian:TooManyOutputs',... - '%s','Maximum number of outputs is 3.'); - end - u = varargin{1}; dim2 = size(u); if dim2(1) ~= 1 Modified: trunk/octave-forge/main/specfun/inst/sinint.m =================================================================== --- trunk/octave-forge/main/specfun/inst/sinint.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/sinint.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -17,5 +17,5 @@ ##See also: Si. function y = sinint(x); - y = Si(x); -endfunction; \ No newline at end of file + y = Si(x); +endfunction; Modified: trunk/octave-forge/main/specfun/inst/zeta.m =================================================================== --- trunk/octave-forge/main/specfun/inst/zeta.m 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/inst/zeta.m 2011-11-20 20:14:29 UTC (rev 9149) @@ -15,29 +15,28 @@ ## ZETA compute the Riemann's Zeta function. - function z = zeta(t) - if (nargin != 1) - usage ("zeta(x)"); - endif - z = zeros(size(t)); - for j = 1:prod(size(t)) - if(real(t(j)) >= 0) - if(imag(t(j)) == 0 && real(t(j)) > 1) - F= @(x) 1./(gamma(t(j))).*x.^(t(j)-1)./(exp(x)-1); - z(j) = quad(F,0,Inf); - elseif(t(j) == 0) - z(j) = -0.5; - elseif(t(j) == 1) - z(j) = Inf; - else - for k = 1:100 - z(j) += (-1).^(k-1)./(k.^t(j)); - endfor - z(j) = 1./(1-2.^(1-t(j))).*z(j); - endif - else - z(j) = 2.^t(j).*pi.^(t(j)-1).*sin(pi.*t(j)./2).*gamma(1-t(j)).*zeta(1-t(j)); - endif - endfor -endfunction; \ No newline at end of file + if (nargin != 1) + print_usage; + endif + z = zeros(size(t)); + for j = 1:prod(size(t)) + if(real(t(j)) >= 0) + if(imag(t(j)) == 0 && real(t(j)) > 1) + F= @(x) 1./(gamma(t(j))).*x.^(t(j)-1)./(exp(x)-1); + z(j) = quad(F,0,Inf); + elseif(t(j) == 0) + z(j) = -0.5; + elseif(t(j) == 1) + z(j) = Inf; + else + for k = 1:100 + z(j) += (-1).^(k-1)./(k.^t(j)); + endfor + z(j) = 1./(1-2.^(1-t(j))).*z(j); + endif + else + z(j) = 2.^t(j).*pi.^(t(j)-1).*sin(pi.*t(j)./2).*gamma(1-t(j)).*zeta(1-t(j)); + endif + endfor +endfunction; Modified: trunk/octave-forge/main/specfun/src/ellipj.cc =================================================================== --- trunk/octave-forge/main/specfun/src/ellipj.cc 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/specfun/src/ellipj.cc 2011-11-20 20:14:29 UTC (rev 9149) @@ -60,7 +60,7 @@ warning ("ellipj: expecting 0. <= m <= 1."); /* -lc- */ sn = cn = dn = lo_ieee_nan_value (); return; - } + } sqrt_eps = sqrt(eps); if (m < sqrt_eps) { /* # For small m, ( Abramowitz and Stegun, Section 16.13 ) */ @@ -99,14 +99,14 @@ c[n] = (a[n-1]-b)/2; b = sqrt(a[n-1]*b); if ( c[n]/a[n] < eps) break; - } + } if ( n >= Nmax-1) { // fprintf(stderr, "Not enough workspace\n"); err = 1.; return; } Nn = n; - for ( ii = 1; n>0; ii = ii*2, --n) ; // pow(2, Nn) + for ( ii = 1; n>0; ii = ii*2, --n) ; // pow(2, Nn) phi = ii*a[Nn]*u; for ( n = Nn; n > 0; --n) { t = phi; @@ -279,7 +279,7 @@ double err; octave_value result; - sncndn( u, m, sn, cn, dn, err); + sncndn( u, m, sn, cn, dn, err); retval (0) = sn; retval (1) = cn; @@ -313,7 +313,7 @@ gripe_ellipj_arg ( "first"); /*}}}*/ } - } else + } else gripe_ellipj_arg ( "second"); } else { // m is matrix Matrix m = args(1).matrix_value (); @@ -367,7 +367,7 @@ int ur = u.rows (); int uc = u.cols (); - if (mr == 1 && uc == 1) { // u column, m row + if (mr == 1 && uc == 1) { // u column, m row RowVector rm = m.row ((octave_idx_type)0); ColumnVector cu = u.column ((octave_idx_type)0); @@ -383,7 +383,7 @@ retval (1) = cn; retval (2) = dn; if (nargout > 3) retval(3) = err; - } else if (ur == mr && uc == mc) { + } else if (ur == mr && uc == mc) { Matrix sn (ur, mc), cn (ur, mc), dn (ur, mc); Matrix err(ur,mc); // octave_value result; @@ -406,7 +406,7 @@ int ur = u.rows (); int uc = u.cols (); - if (mr == 1 && uc == 1) { + if (mr == 1 && uc == 1) { RowVector rm = m.row ((octave_idx_type)0); ComplexColumnVector cu = u.column ((octave_idx_type)0); @@ -422,7 +422,7 @@ retval (1) = cn; retval (2) = dn; if (nargout > 3) retval(3) = err; - } else if (ur == mr && uc == mc) { + } else if (ur == mr && uc == mc) { ComplexMatrix sn (ur, mc), cn (ur, mc), dn (ur, mc); Matrix err(ur,mc); @@ -451,8 +451,6 @@ return retval; } - - /* ;;; Local Variables: *** ;;; mode: C++ *** Modified: trunk/octave-forge/main/statistics/NEWS =================================================================== --- trunk/octave-forge/main/statistics/NEWS 2011-11-20 15:53:59 UTC (rev 9148) +++ trunk/octave-forge/main/statistics/NEWS 2011-11-20 20:14:29 UTC (rev 9149) @@ -1,3 +1,11 @@ +Summary of important user-visible changes for statistics 1XXXXXXXX: +------------------------------------------------------------------- + + ** The following functions are new in 1.1.0: + + monotone_smooth + + Summary of important user-visible changes for statistics 1.1.0: ------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |