This list is closed, nobody may subscribe to it.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(10) |
Aug
(5) |
Sep
(3) |
Oct
(41) |
Nov
(41) |
Dec
(33) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(75) |
Feb
(10) |
Mar
(170) |
Apr
(174) |
May
(66) |
Jun
(11) |
Jul
(10) |
Aug
(44) |
Sep
(73) |
Oct
(28) |
Nov
(139) |
Dec
(52) |
2003 |
Jan
(35) |
Feb
(93) |
Mar
(62) |
Apr
(10) |
May
(55) |
Jun
(70) |
Jul
(37) |
Aug
(16) |
Sep
(56) |
Oct
(31) |
Nov
(57) |
Dec
(83) |
2004 |
Jan
(85) |
Feb
(67) |
Mar
(27) |
Apr
(37) |
May
(75) |
Jun
(85) |
Jul
(160) |
Aug
(68) |
Sep
(104) |
Oct
(25) |
Nov
(39) |
Dec
(23) |
2005 |
Jan
(10) |
Feb
(45) |
Mar
(43) |
Apr
(19) |
May
(108) |
Jun
(31) |
Jul
(41) |
Aug
(23) |
Sep
(65) |
Oct
(58) |
Nov
(44) |
Dec
(54) |
2006 |
Jan
(96) |
Feb
(27) |
Mar
(69) |
Apr
(59) |
May
(67) |
Jun
(35) |
Jul
(13) |
Aug
(461) |
Sep
(160) |
Oct
(399) |
Nov
(32) |
Dec
(72) |
2007 |
Jan
(316) |
Feb
(305) |
Mar
(318) |
Apr
(54) |
May
(194) |
Jun
(173) |
Jul
(282) |
Aug
(91) |
Sep
(227) |
Oct
(365) |
Nov
(168) |
Dec
(18) |
2008 |
Jan
(71) |
Feb
(111) |
Mar
(155) |
Apr
(173) |
May
(70) |
Jun
(67) |
Jul
(55) |
Aug
(83) |
Sep
(32) |
Oct
(68) |
Nov
(80) |
Dec
(29) |
2009 |
Jan
(46) |
Feb
(18) |
Mar
(95) |
Apr
(76) |
May
(140) |
Jun
(98) |
Jul
(84) |
Aug
(123) |
Sep
(94) |
Oct
(131) |
Nov
(142) |
Dec
(125) |
2010 |
Jan
(128) |
Feb
(158) |
Mar
(172) |
Apr
(134) |
May
(94) |
Jun
(84) |
Jul
(32) |
Aug
(127) |
Sep
(167) |
Oct
(109) |
Nov
(69) |
Dec
(78) |
2011 |
Jan
(39) |
Feb
(58) |
Mar
(52) |
Apr
(47) |
May
(56) |
Jun
(76) |
Jul
(55) |
Aug
(54) |
Sep
(165) |
Oct
(255) |
Nov
(328) |
Dec
(263) |
2012 |
Jan
(82) |
Feb
(147) |
Mar
(400) |
Apr
(216) |
May
(209) |
Jun
(160) |
Jul
(86) |
Aug
(141) |
Sep
(156) |
Oct
(6) |
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
(1) |
Oct
|
Nov
(1) |
Dec
(2) |
2016 |
Jan
|
Feb
(2) |
Mar
(2) |
Apr
(1) |
May
(1) |
Jun
(2) |
Jul
(1) |
Aug
(1) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
2019 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2021 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
(4) |
Jun
(8) |
Jul
(2) |
Aug
(5) |
Sep
(9) |
Oct
|
Nov
|
Dec
|
From: <be...@us...> - 2012-05-26 01:07:14
|
Revision: 10523 http://octave.svn.sourceforge.net/octave/?rev=10523&view=rev Author: benjf5 Date: 2012-05-26 01:07:07 +0000 (Sat, 26 May 2012) Log Message: ----------- Written complex function, updated others for lssa. Modified Paths: -------------- trunk/octave-forge/extra/lssa/lscorrcoeff.m trunk/octave-forge/extra/lssa/lsreal.m trunk/octave-forge/extra/lssa/lswaveletcoeff.m Added Paths: ----------- trunk/octave-forge/extra/lssa/lscomplex.m Added: trunk/octave-forge/extra/lssa/lscomplex.m =================================================================== --- trunk/octave-forge/extra/lssa/lscomplex.m (rev 0) +++ trunk/octave-forge/extra/lssa/lscomplex.m 2012-05-26 01:07:07 UTC (rev 10523) @@ -0,0 +1,39 @@ +## Copyright (C) 2012 Benjamin Lewis <be...@gm...> +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 2 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {t =} lscomplex ( time, mag, maxfreq, numcoeff, numoctaves) +## +## Return the complex least-squares transform of the (@var{time},@var{mag}) +## series, considering frequencies up to @var{maxfreq}, over @var{numoctaves} +## octaves and @var{numcoeff} coefficients. +## +## @end deftypefn + + +function transform = lscomplex( t , x , omegamax , ncoeff , noctave ) + n = length(t); ## VECTOR ONLY, and since t and x have the same number of entries, there's no problem. + n1 = 1 / n; + transform = zeros(1,ncoeff*noctave); + o = omegamax; + omul = 2 ^ ( - 1 / ncoeff ); + for iter = 1:ncoeff*noctave + ot = o .* t; + transform(iter) = sum( ( cos(ot) .- ( sin(ot) .* i ) ) .* x ); ## See the paper for the expression + o *= omul; ## To advance the transform to the next coefficient in the octave + endfor + transform .* n1; + +endfunction \ No newline at end of file Modified: trunk/octave-forge/extra/lssa/lscorrcoeff.m =================================================================== --- trunk/octave-forge/extra/lssa/lscorrcoeff.m 2012-05-25 23:14:13 UTC (rev 10522) +++ trunk/octave-forge/extra/lssa/lscorrcoeff.m 2012-05-26 01:07:07 UTC (rev 10523) @@ -14,9 +14,9 @@ ## this program; if not, see <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq) -## @deftypefnx {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq, window) -## @deftypefnx {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq, window, winradius) +## @deftypefn {Function File} {c =} lscorrcoeff (abc1, ord1, abc2, ord2, time, freq) +## @deftypefnx {Function File} {c =} lscorrcoeff (abc1, ord1, abc2, ord2, time, freq, window) +## @deftypefnx {Function File} {c =} lscorrcoeff (abc1, ord1, abc2, ord2, time, freq, window, winradius) ## ## Return the coefficient of the wavelet correlation of time ## series (@var{abc1}, @var{ord1}) and (@var{abc2}, @var{ord2}). @@ -31,13 +31,13 @@ %! x = 1:10; %! y = sin(x); %! z = cos(x); -%! a = nucorrcoeff(x,y,x,z,0.5,0.9) +%! a = lscorrcoeff(x,y,x,z,0.5,0.9) %! ## This generates the correlation coefficient at time 0.5 and circular freq. 0.9 ## nucorrcoeff, computes a coefficient of the wavelet correlation of two time series -function coeff = nucorrcoeff(x1, y1, x2, y2, t, o, wgt = @cubicwgt, wgtrad = 1) +function coeff = lscorrcoeff(x1, y1, x2, y2, t, o, wgt = @cubicwgt, wgtrad = 1) so = 0.05 * o; ## This code can only, as of currently, work on vectors; I haven't figured out a way to make it work on a matrix. if( ( ndims(x1) == 2 ) && ! ( rows(x1) == 1 ) ) Modified: trunk/octave-forge/extra/lssa/lsreal.m =================================================================== --- trunk/octave-forge/extra/lssa/lsreal.m 2012-05-25 23:14:13 UTC (rev 10522) +++ trunk/octave-forge/extra/lssa/lsreal.m 2012-05-26 01:07:07 UTC (rev 10523) @@ -23,7 +23,7 @@ ## ## @end deftypefn -function transform = nureal( t, x, omegamax, ncoeff, noctave) +function transform = lsreal( t, x, omegamax, ncoeff, noctave) ## the R function runs the following command: ## nureal( double X, double Y, int min(X,Y), int ncoeff, int noctave, double omegamax, complex rp) ## this means that in the C, *tptr is X and *xptr is Y. Yes, I know. I think I'll rename them. Modified: trunk/octave-forge/extra/lssa/lswaveletcoeff.m =================================================================== --- trunk/octave-forge/extra/lssa/lswaveletcoeff.m 2012-05-25 23:14:13 UTC (rev 10522) +++ trunk/octave-forge/extra/lssa/lswaveletcoeff.m 2012-05-26 01:07:07 UTC (rev 10523) @@ -14,9 +14,9 @@ ## this program; if not, see <http://www.gnu.org/licenses/>. ## -*- texinfo -*- -## @deftypefn {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq) -## @deftypefnx {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq, window) -## @deftypefnx {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq, window, winradius) +## @deftypefn {Function File} {c =} lswaveletcoeff (abc, ord, time, freq) +## @deftypefnx {Function File} {c =} lswaveletcoeff (abc, ord, time, freq, window) +## @deftypefnx {Function File} {c =} lswaveletcoeff (abc, ord, time, freq, window, winradius) ## ## Return the coefficient of the wavelet transform of the ## time series (@var{abc}, @var{ord}) at time @var{time} @@ -32,12 +32,12 @@ %! y = sin(x); %! xt = x'; %! yt = y'; -%! a = nuwaveletcoeff(x,y,0.5,0.9) -%! b = nuwaveletcoeff(xt,yt,0.5,0.9) +%! a = lswaveletcoeff(x,y,0.5,0.9) +%! b = lswaveletcoeff(xt,yt,0.5,0.9) %! ## Generates the wavelet transform coefficient for time 0.5 and circ. freq. 0.9, for row & column vectors. -function coeff = nuwaveletcoeff( x , y , t , o , wgt = @cubicwgt , wgtrad = 1 ) +function coeff = lswaveletcoeff( x , y , t , o , wgt = @cubicwgt , wgtrad = 1 ) so = 0.05 .* o; if ( ( ndims(x) == 2 ) && ! ( rows(x) == 1 ) ) x = reshape(x,1,length(x)); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-05-25 23:14:20
|
Revision: 10522 http://octave.svn.sourceforge.net/octave/?rev=10522&view=rev Author: paramaniac Date: 2012-05-25 23:14:13 +0000 (Fri, 25 May 2012) Log Message: ----------- control-devel: save some early draft code Added Paths: ----------- trunk/octave-forge/extra/control-devel/devel/rarx.m Added: trunk/octave-forge/extra/control-devel/devel/rarx.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/rarx.m (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/rarx.m 2012-05-25 23:14:13 UTC (rev 10522) @@ -0,0 +1,202 @@ +## Copyright (C) 2012 Lukas F. Reichlin +## +## This file is part of LTI Syncope. +## +## LTI Syncope is free software: you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation, either version 3 of the License, or +## (at your option) any later version. +## +## LTI Syncope is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with LTI Syncope. If not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {@var{sys} =} arx (@var{dat}, @var{na}, @var{nb}) +## ARX +## @end deftypefn + +## Author: Lukas Reichlin <luk...@gm...> +## Created: April 2012 +## Version: 0.1 + +function [sys, varargout] = rarx (dat, na, nb) + + ## TODO: delays + + if (nargin != 3) + print_usage (); + endif + + if (! isa (dat, "iddata")) + error ("arx: first argument must be an iddata dataset"); + endif + + ## p: outputs, m: inputs, ex: experiments + [~, p, m, ex] = size (dat); + + ## extract data + Y = dat.y; + U = dat.u; + tsam = dat.tsam; + + ## multi-experiment data requires equal sampling times + if (ex > 1 && ! isequal (tsam{:})) + error ("arx: require equally sampled experiments"); + else + tsam = tsam{1}; + endif + + + if (is_real_scalar (na, nb)) + na = repmat (na, p, 1); # na(p-by-1) + nb = repmat (nb, p, m); # nb(p-by-m) + elseif (! (is_real_vector (na) && is_real_matrix (nb) \ + && rows (na) == p && rows (nb) == p && columns (nb) == m)) + error ("arx: require na(%dx1) instead of (%dx%d) and nb(%dx%d) instead of (%dx%d)", \ + p, rows (na), columns (na), p, m, rows (nb), columns (nb)); + endif + + max_nb = max (nb, [], 2); # one maximum for each row/output, max_nb(p-by-1) + n = max (na, max_nb); # n(p-by-1) + + ## create empty cells for numerator and denominator polynomials + num = cell (p, m+p); + den = cell (p, m+p); + + ## MIMO (p-by-m) models are identified as p MISO (1-by-m) models + ## For multi-experiment data, minimize the trace of the error + for i = 1 : p # for every output + Phi = cell (ex, 1); # one regression matrix per experiment + for e = 1 : ex # for every experiment + ## avoid warning: toeplitz: column wins anti-diagonal conflict + ## therefore set first row element equal to y(1) + PhiY = toeplitz (Y{e}(1:end-1, i), [Y{e}(1, i); zeros(na(i)-1, 1)]); + ## create MISO Phi for every experiment + PhiU = arrayfun (@(x) toeplitz (U{e}(1:end-1, x), [U{e}(1, x); zeros(nb(i,x)-1, 1)]), 1:m, "uniformoutput", false); + Phi{e} = (horzcat (-PhiY, PhiU{:}))(n(i):end, :); + endfor + + ## compute parameter vector Theta + Theta = __theta__ (Phi, Y, i, n); + + ## extract polynomial matrices A and B from Theta + ## A is a scalar polynomial for output i, i=1:p + ## B is polynomial row vector (1-by-m) for output i + A = [1; Theta(1:na(i))]; # a0 = 1, a1 = Theta(1), an = Theta(n) + ThetaB = Theta(na(i)+1:end); # all polynomials from B are in one column vector + B = mat2cell (ThetaB, nb(i,:)); # now separate the polynomials, one for each input + B = reshape (B, 1, []); # make B a row cell (1-by-m) + B = cellfun (@(x) [0; x], B, "uniformoutput", false); # b0 = 0 (leading zero required by filt) + + ## add error inputs + Be = repmat ({0}, 1, p); # there are as many error inputs as system outputs (p) + Be(i) = 1; # inputs m+1:m+p are zero, except m+i which is one + num(i, :) = [B, Be]; # numerator polynomials for output i, individual for each input + den(i, :) = repmat ({A}, 1, m+p); # in a row (output i), all inputs have the same denominator polynomial + endfor + + ## A(q) y(t) = B(q) u(t) + e(t) + ## there is only one A per row + ## B(z) and A(z) are a Matrix Fraction Description (MFD) + ## y = A^-1(q) B(q) u(t) + A^-1(q) e(t) + ## since A(q) is a diagonal polynomial matrix, its inverse is trivial: + ## the corresponding transfer function has common row denominators. + + sys = filt (num, den, tsam); # filt creates a transfer function in z^-1 + + ## compute initial state vector x0 if requested + ## this makes only sense for state-space models, therefore convert TF to SS + if (nargout > 1) + sys = prescale (ss (sys(:,1:m))); + x0 = slib01cd (Y, U, sys.a, sys.b, sys.c, sys.d, 0.0) + ## return x0 as vector for single-experiment data + ## instead of a cell containing one vector + if (numel (x0) == 1) + x0 = x0{1}; + endif + varargout{1} = x0; + endif + +endfunction + + +%function theta = __theta__ (phi, y, i, n) +function Theta = __theta__ (Phi, Y, i, n) + + + if (numel (Phi) == 1) # single-experiment dataset + % recursive least-squares with efficient matrix inversion + lambda = default 1 + Theta = ? + P = ? + for t = + phi = Phi{1}(t,:); + y = Y{1}(t?offset n(i), :); + ## note phi != phi.' + den = lambda + phi*P*phi.'; + L = P * phi / den; + P = (P - (P * phi.' * phi * P) / den) / lambda + Theta += L * (y - phi*Theta); + endfor +%{ + ## use "square-root algorithm" + A = horzcat (phi{1}, y{1}(n(i)+1:end, i)); # [Phi, Y] + R0 = triu (qr (A, 0)); # 0 for economy-size R (without zero rows) + R1 = R0(1:end-1, 1:end-1); # R1 is triangular - can we exploit this in R1\R2? + R2 = R0(1:end-1, end); + theta = __ls_svd__ (R1, R2); # R1 \ R2 + + ## Theta = Phi \ Y(n+1:end, :); # naive formula + ## theta = __ls_svd__ (phi{1}, y{1}(n(i)+1:end, i)); +%} + else # multi-experiment dataset + ## TODO: find more sophisticated formula than + ## Theta = (Phi1' Phi + Phi2' Phi2 + ...) \ (Phi1' Y1 + Phi2' Y2 + ...) + + ## covariance matrix C = (Phi1' Phi + Phi2' Phi2 + ...) + tmp = cellfun (@(Phi) Phi.' * Phi, phi, "uniformoutput", false); + rc = cellfun (@rcond, tmp); # C auch noch testen? QR oder SVD? + C = plus (tmp{:}); + + ## PhiTY = (Phi1' Y1 + Phi2' Y2 + ...) + tmp = cellfun (@(Phi, Y) Phi.' * Y(n(i)+1:end, i), phi, y, "uniformoutput", false); + PhiTY = plus (tmp{:}); + + ## pseudoinverse Theta = C \ Phi'Y + theta = __ls_svd__ (C, PhiTY); + endif + +endfunction + + +function x = __ls_svd__ (A, b) + + ## solve the problem Ax=b + ## x = A\b would also work, + ## but this way we have better control and warnings + + ## solve linear least squares problem by pseudoinverse + ## the pseudoinverse is computed by singular value decomposition + ## M = U S V* ---> M+ = V S+ U* + ## Th = Ph \ Y = Ph+ Y + ## Th = V S+ U* Y, S+ = 1 ./ diag (S) + + [U, S, V] = svd (A, 0); # 0 for "economy size" decomposition + S = diag (S); # extract main diagonal + r = sum (S > eps*S(1)); + if (r < length (S)) + warning ("arx: rank-deficient coefficient matrix"); + warning ("sampling time too small"); + warning ("persistence of excitation"); + endif + V = V(:, 1:r); + S = S(1:r); + U = U(:, 1:r); + x = V * (S .\ (U' * b)); # U' is the conjugate transpose + +endfunction This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-05-25 14:49:59
|
Revision: 10521 http://octave.svn.sourceforge.net/octave/?rev=10521&view=rev Author: benjf5 Date: 2012-05-25 14:49:45 +0000 (Fri, 25 May 2012) Log Message: ----------- Fixed lssa filenames, blatant error in lsreal. Added Paths: ----------- trunk/octave-forge/extra/lssa/lscorrcoeff.m trunk/octave-forge/extra/lssa/lsreal.m trunk/octave-forge/extra/lssa/lswaveletcoeff.m Removed Paths: ------------- trunk/octave-forge/extra/lssa/nucorrcoeff.m trunk/octave-forge/extra/lssa/nureal.m trunk/octave-forge/extra/lssa/nuwaveletcoeff.m Copied: trunk/octave-forge/extra/lssa/lscorrcoeff.m (from rev 10520, trunk/octave-forge/extra/lssa/nucorrcoeff.m) =================================================================== --- trunk/octave-forge/extra/lssa/lscorrcoeff.m (rev 0) +++ trunk/octave-forge/extra/lssa/lscorrcoeff.m 2012-05-25 14:49:45 UTC (rev 10521) @@ -0,0 +1,67 @@ +## Copyright (C) 2012 Benjamin Lewis <be...@gm...> +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 3 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq) +## @deftypefnx {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq, window) +## @deftypefnx {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq, window, winradius) +## +## Return the coefficient of the wavelet correlation of time +## series (@var{abc1}, @var{ord1}) and (@var{abc2}, @var{ord2}). +## @var{window} is used to apply a windowing function, its +## default is cubicwgt if left blank, and its radius is 1, +## as defined as the default for @var{winradius}. +## +## @end deftypefn + +## Demo with sin, cos as Nir suggested. +%!demo +%! x = 1:10; +%! y = sin(x); +%! z = cos(x); +%! a = nucorrcoeff(x,y,x,z,0.5,0.9) +%! ## This generates the correlation coefficient at time 0.5 and circular freq. 0.9 + + +## nucorrcoeff, computes a coefficient of the wavelet correlation of two time series + +function coeff = nucorrcoeff(x1, y1, x2, y2, t, o, wgt = @cubicwgt, wgtrad = 1) + so = 0.05 * o; + ## This code can only, as of currently, work on vectors; I haven't figured out a way to make it work on a matrix. + if( ( ndims(x1) == 2 ) && ! ( rows(x1) == 1 ) ) + x1 = reshape(x1,1,length(x1)); + y1 = reshape(y1,1,length(y1)); + x2 = reshape(x2,1,length(x2)); + y2 = reshape(y2,1,length(y2)); + endif + ## The first solution that comes to mind is admittedly slightly ugly and has a data footprint of O(2n) + ## but it is vectorised. + mask = ( abs( x1 - t ) * so ) < wgtrad; + mask = mask .* [ 1 : length(mask) ]; + rx1 = x1(mask); ## I've kept the variable names from the R function here + ry1 = y1(mask); ## Needs to have a noisy error if length(y1) != length(x1) -- add this! + mask = ( abs( x2 - t ) * so ) < wgtrad; + mask = mask .* [ 1 : length(mask) ]; + rx2 = x2(mask); + ry2 = y2(mask); + ## I've used the same mask for all of these as it's an otherwise unimportant variable ... can this leak memory? + lnength(rx1) ##printing this length is probably used as a warning if 0 is returned; I inculded it + ## in particular to maintain an exact duplicate of the R function. + s = sum( wgt( ( rx1 - t ) .* so ) ) * sum( wgt( ( rx2 - t ) .* so ) ); + coeff = ifelse( s != 0 , ( sum( wgt( ( rx1 - t ) .* so ) .* exp( i .* o .* rx1 ) .* ry1 ) + * sum( wgt( ( rx2 - t ) .* so ) .* exp( i .* o .* rx2 ) .* ry2 ) ) / s, 0 ); + + +endfunction \ No newline at end of file Copied: trunk/octave-forge/extra/lssa/lsreal.m (from rev 10520, trunk/octave-forge/extra/lssa/nureal.m) =================================================================== --- trunk/octave-forge/extra/lssa/lsreal.m (rev 0) +++ trunk/octave-forge/extra/lssa/lsreal.m 2012-05-25 14:49:45 UTC (rev 10521) @@ -0,0 +1,60 @@ +## Copyright (C) 2012 Benjamin Lewis +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 2 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {transform =} nureal ( time, mag, maxfreq, numcoeff, numoctaves) +## +## Return the real least-squares transform of the time series +## defined, based on the maximal frequency @var{maxfreq}, the +## number of coefficients @var{numcoeff}, and the number of +## octaves @var{numoctaves}. It works only for vectors currently. +## +## @end deftypefn + +function transform = nureal( t, x, omegamax, ncoeff, noctave) + ## the R function runs the following command: + ## nureal( double X, double Y, int min(X,Y), int ncoeff, int noctave, double omegamax, complex rp) + ## this means that in the C, *tptr is X and *xptr is Y. Yes, I know. I think I'll rename them. + ## n is the min of X and Y ... (as is k) and ncoeff is ... ncoeff, while noctave is noctave and + ## o is omegamax. + ## where rp = complex(noctave*ncoeff) so ... I can just store that as noctave*ncoeff and have no + ## problems, I guess. + ## Possibly throw an error if ncoeff <= 0. + k = n = min(length(x),length(t)); ## THIS IS VECTOR-ONLY. I'd need to add another bit of code to + ## make it array-safe, and that's not knowing right now what else will be necessary. + transform = zeros(1,(noctave * ncoeff)); ## In the C code, this is rendered as a Complex, but Octave doesn't care. + od = 2 ^ ( - 1 / ncoeff ); ## this will cause a crash if ncoeff=0; prefer error & quit? + o = omegamax; + ## ot is just defined as a Real here, I'm leaving it until it needs to be called. + n1 = 1 / n; ## written n_1 in the C, but I'd prefer to not get into underscores here. + ## zeta and iota are defined as Complex here, leaving them until they need to be defined. + ## I'm not convinced I won't want ncoeff again, so ... + ncoeffp = ncoeff; + ncoeffp *= noctave; + for iter = 1:ncoeffp + ## This method is an application of Eq. 8 on page 6 of the text, as well as Eq. 7 + ot = o .* t; + zeta = sum( ( cos(ot) .* x ) - ( sin(ot) .* x .* i ) ); + ot = ot .* 2; + iota = sum( cos(ot) - ( sin(ot) .* i ) ); + zeta = zeta .* n1; + iota = iota .* n1; + transform(iter) = 2 / ( 1 - ( real(iota) ^ 2 ) - ( imag(iota) ^ 2 ) ) * ( conj(zeta) - (conj(iota) * zeta )); + o = o .* od; + endfor + + ## transform = rp; + +endfunction \ No newline at end of file Copied: trunk/octave-forge/extra/lssa/lswaveletcoeff.m (from rev 10520, trunk/octave-forge/extra/lssa/nuwaveletcoeff.m) =================================================================== --- trunk/octave-forge/extra/lssa/lswaveletcoeff.m (rev 0) +++ trunk/octave-forge/extra/lssa/lswaveletcoeff.m 2012-05-25 14:49:45 UTC (rev 10521) @@ -0,0 +1,55 @@ +## Copyright (C) 2012 Benjamin Lewis <be...@gm...> +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 2 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq) +## @deftypefnx {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq, window) +## @deftypefnx {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq, window, winradius) +## +## Return the coefficient of the wavelet transform of the +## time series (@var{abc}, @var{ord}) at time @var{time} +## and frequency @var{freq}; optional variable @var{window} +## provides a windowing function and defaults to cubicwgt, +## while @var{winradius} is the windowing radius, and defaults +## to 1 (the radius of cubicwgt.) +## +## @end deftypefn + +%!demo +%! x = 1:10; +%! y = sin(x); +%! xt = x'; +%! yt = y'; +%! a = nuwaveletcoeff(x,y,0.5,0.9) +%! b = nuwaveletcoeff(xt,yt,0.5,0.9) +%! ## Generates the wavelet transform coefficient for time 0.5 and circ. freq. 0.9, for row & column vectors. + + +function coeff = nuwaveletcoeff( x , y , t , o , wgt = @cubicwgt , wgtrad = 1 ) + so = 0.05 .* o; + if ( ( ndims(x) == 2 ) && ! ( rows(x) == 1 ) ) + x = reshape(x,1,length(x)); + y = reshape(y,1,length(y)); + endif + mask = abs( x - t ) * so < wgtrad; + mask = mask .* [ 1 : length(mask) ]; + rx = x(mask); + ## This was the fastest way to extract a matching subset that I could think of, but it has a complexity O(2n). + ry = y(mask); + ## Going by the R code, this can use the same mask. + s = sum( wgt( ( x - t ) .* so ) ); + coeff = ifelse( s != 0 , sum( wgt( ( rx - t ) .* so) .* exp( i .* o .* ( rx - t ) ) .* ry ) ./ s , 0 ); + +endfunction \ No newline at end of file Deleted: trunk/octave-forge/extra/lssa/nucorrcoeff.m =================================================================== --- trunk/octave-forge/extra/lssa/nucorrcoeff.m 2012-05-24 20:41:47 UTC (rev 10520) +++ trunk/octave-forge/extra/lssa/nucorrcoeff.m 2012-05-25 14:49:45 UTC (rev 10521) @@ -1,67 +0,0 @@ -## Copyright (C) 2012 Benjamin Lewis <be...@gm...> -## -## This program is free software; you can redistribute it and/or modify it under -## the terms of the GNU General Public License as published by the Free Software -## Foundation; either version 3 of the License, or (at your option) any later -## version. -## -## This program is distributed in the hope that it will be useful, but WITHOUT -## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -## details. -## -## You should have received a copy of the GNU General Public License along with -## this program; if not, see <http://www.gnu.org/licenses/>. - -## -*- texinfo -*- -## @deftypefn {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq) -## @deftypefnx {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq, window) -## @deftypefnx {Function File} {c =} nucorrcoeff (abc1, ord1, abc2, ord2, time, freq, window, winradius) -## -## Return the coefficient of the wavelet correlation of time -## series (@var{abc1}, @var{ord1}) and (@var{abc2}, @var{ord2}). -## @var{window} is used to apply a windowing function, its -## default is cubicwgt if left blank, and its radius is 1, -## as defined as the default for @var{winradius}. -## -## @end deftypefn - -## Demo with sin, cos as Nir suggested. -%!demo -%! x = 1:10; -%! y = sin(x); -%! z = cos(x); -%! a = nucorrcoeff(x,y,x,z,0.5,0.9) -%! ## This generates the correlation coefficient at time 0.5 and circular freq. 0.9 - - -## nucorrcoeff, computes a coefficient of the wavelet correlation of two time series - -function coeff = nucorrcoeff(x1, y1, x2, y2, t, o, wgt = @cubicwgt, wgtrad = 1) - so = 0.05 * o; - ## This code can only, as of currently, work on vectors; I haven't figured out a way to make it work on a matrix. - if( ( ndims(x1) == 2 ) && ! ( rows(x1) == 1 ) ) - x1 = reshape(x1,1,length(x1)); - y1 = reshape(y1,1,length(y1)); - x2 = reshape(x2,1,length(x2)); - y2 = reshape(y2,1,length(y2)); - endif - ## The first solution that comes to mind is admittedly slightly ugly and has a data footprint of O(2n) - ## but it is vectorised. - mask = ( abs( x1 - t ) * so ) < wgtrad; - mask = mask .* [ 1 : length(mask) ]; - rx1 = x1(mask); ## I've kept the variable names from the R function here - ry1 = y1(mask); ## Needs to have a noisy error if length(y1) != length(x1) -- add this! - mask = ( abs( x2 - t ) * so ) < wgtrad; - mask = mask .* [ 1 : length(mask) ]; - rx2 = x2(mask); - ry2 = y2(mask); - ## I've used the same mask for all of these as it's an otherwise unimportant variable ... can this leak memory? - lnength(rx1) ##printing this length is probably used as a warning if 0 is returned; I inculded it - ## in particular to maintain an exact duplicate of the R function. - s = sum( wgt( ( rx1 - t ) .* so ) ) * sum( wgt( ( rx2 - t ) .* so ) ); - coeff = ifelse( s != 0 , ( sum( wgt( ( rx1 - t ) .* so ) .* exp( i .* o .* rx1 ) .* ry1 ) - * sum( wgt( ( rx2 - t ) .* so ) .* exp( i .* o .* rx2 ) .* ry2 ) ) / s, 0 ); - - -endfunction \ No newline at end of file Deleted: trunk/octave-forge/extra/lssa/nureal.m =================================================================== --- trunk/octave-forge/extra/lssa/nureal.m 2012-05-24 20:41:47 UTC (rev 10520) +++ trunk/octave-forge/extra/lssa/nureal.m 2012-05-25 14:49:45 UTC (rev 10521) @@ -1,72 +0,0 @@ -## Copyright (C) 2012 Benjamin Lewis -## -## This program is free software; you can redistribute it and/or modify it under -## the terms of the GNU General Public License as published by the Free Software -## Foundation; either version 2 of the License, or (at your option) any later -## version. -## -## This program is distributed in the hope that it will be useful, but WITHOUT -## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -## details. -## -## You should have received a copy of the GNU General Public License along with -## this program; if not, see <http://www.gnu.org/licenses/>. - -## -*- texinfo -*- -## @deftypefn {Function File} {transform =} nureal ( mag, time, maxfreq, numcoeff, numoctaves) -## -## Return the real least-squares transform of the time series -## defined, based on the maximal frequency @var{maxfreq}, the -## number of coefficients @var{numcoeff}, and the number of -## octaves @var{numoctaves}. It works only for vectors currently. -## -## @end deftypefn - -function transform = nureal( x, t, omegamax, ncoeff, noctave) - ## the R function runs the following command: - ## nureal( double X, double Y, int min(X,Y), int ncoeff, int noctave, double omegamax, complex rp) - ## this means that in the C, *tptr is X and *xptr is Y. Yes, I know. I think I'll rename them. - ## n is the min of X and Y ... (as is k) and ncoeff is ... ncoeff, while noctave is noctave and - ## o is omegamax. - ## where rp = complex(noctave*ncoeff) so ... I can just store that as noctave*ncoeff and have no - ## problems, I guess. - ## Possibly throw an error if ncoeff <= 0. - k = n = min ( min ( x , t ) ); ## THIS IS VECTOR-ONLY. I'd need to add another bit of code to - ## make it array-safe, and that's not knowing right now what else will be necessary. - rp = zeros(1,(noctave * ncoeff)); ## In the C code, this is rendered as a Complex, but Octave doesn't care. - od = 2 ^ ( - 1 / ncoeff ); ## this will cause a crash if ncoeff=0; prefer error & quit? - o = omegamax; - ## ot is just defined as a Real here, I'm leaving it until it needs to be called. - n1 = 1 / n; ## written n_1 in the C, but I'd prefer to not get into underscores here. - ## zeta and iota are defined as Complex here, leaving them until they need to be defined. - ## I'm not convinced I won't want ncoeff again, so ... - ncoeffp = ncoeff; - for ( ncoeffp *= noctave , iter = 1 ; sign(ncoeffp--) ; o *= od ) - #{ - zeta = iota = 0; - for ( SRCFIRST ; SRCAVAIL ; SRCNEXT ) ##This is going to be vectorised shortly. - ## This code can't run yet ... I'm going to work out what SRCFIRST, SRCAVAIL, SRCNEXT are and - ## replace them with what they should be in this context. I've kept them as reminders. - ot = o * SRCT; ## Same with SRCT ... I think it means what was originally set as Y. Macros? - zeta += cos(ot) * SRCX; - zeta -= sin(ot) * SRCX * i; ## More sure now. I don't think I can vectorise this ... who am I kidding? - ot *= 2; - iota += cos(ot); - iota -= sin(ot) * i; - endfor - }# - ## Commented out the converted-from-C code because it's replaced by the four lines below. - ## This method is an application of Eq. 8 on page 6 of the text, as well as Eq. 7 - ot = o .* t; - zeta = sum( ( cos(ot) .* x ) - ( sin(ot) .* x .* i ) ); - ot = ot .* 2; - iota = sum( cos(ot) - ( sin(ot) .* i ) ); - zeta *= n1; - iota *= n1; - rp(iter++) = 2 / ( 1 - ( real(iota) ^ 2 ) - ( imag(iota) ^ 2 ) ) * ( conj(zeta) - (conj(iota) * zeta )); - endfor - - transform = rp; - -endfunction \ No newline at end of file Deleted: trunk/octave-forge/extra/lssa/nuwaveletcoeff.m =================================================================== --- trunk/octave-forge/extra/lssa/nuwaveletcoeff.m 2012-05-24 20:41:47 UTC (rev 10520) +++ trunk/octave-forge/extra/lssa/nuwaveletcoeff.m 2012-05-25 14:49:45 UTC (rev 10521) @@ -1,55 +0,0 @@ -## Copyright (C) 2012 Benjamin Lewis <be...@gm...> -## -## This program is free software; you can redistribute it and/or modify it under -## the terms of the GNU General Public License as published by the Free Software -## Foundation; either version 2 of the License, or (at your option) any later -## version. -## -## This program is distributed in the hope that it will be useful, but WITHOUT -## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or -## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more -## details. -## -## You should have received a copy of the GNU General Public License along with -## this program; if not, see <http://www.gnu.org/licenses/>. - -## -*- texinfo -*- -## @deftypefn {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq) -## @deftypefnx {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq, window) -## @deftypefnx {Function File} {c =} nuwaveletcoeff (abc, ord, time, freq, window, winradius) -## -## Return the coefficient of the wavelet transform of the -## time series (@var{abc}, @var{ord}) at time @var{time} -## and frequency @var{freq}; optional variable @var{window} -## provides a windowing function and defaults to cubicwgt, -## while @var{winradius} is the windowing radius, and defaults -## to 1 (the radius of cubicwgt.) -## -## @end deftypefn - -%!demo -%! x = 1:10; -%! y = sin(x); -%! xt = x'; -%! yt = y'; -%! a = nuwaveletcoeff(x,y,0.5,0.9) -%! b = nuwaveletcoeff(xt,yt,0.5,0.9) -%! ## Generates the wavelet transform coefficient for time 0.5 and circ. freq. 0.9, for row & column vectors. - - -function coeff = nuwaveletcoeff( x , y , t , o , wgt = @cubicwgt , wgtrad = 1 ) - so = 0.05 .* o; - if ( ( ndims(x) == 2 ) && ! ( rows(x) == 1 ) ) - x = reshape(x,1,length(x)); - y = reshape(y,1,length(y)); - endif - mask = abs( x - t ) * so < wgtrad; - mask = mask .* [ 1 : length(mask) ]; - rx = x(mask); - ## This was the fastest way to extract a matching subset that I could think of, but it has a complexity O(2n). - ry = y(mask); - ## Going by the R code, this can use the same mask. - s = sum( wgt( ( x - t ) .* so ) ); - coeff = ifelse( s != 0 , sum( wgt( ( rx - t ) .* so) .* exp( i .* o .* ( rx - t ) ) .* ry ) ./ s , 0 ); - -endfunction \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-24 20:41:53
|
Revision: 10520 http://octave.svn.sourceforge.net/octave/?rev=10520&view=rev Author: jpicarbajal Date: 2012-05-24 20:41:47 +0000 (Thu, 24 May 2012) Log Message: ----------- admin: lang files Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-24 20:29:27 UTC (rev 10519) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-24 20:41:47 UTC (rev 10520) @@ -2,23 +2,20 @@ /************************************************************************************* * octave.php * ----------- - * Author: Juan Pablo Carbajal (car...@if...) - * Copyright: (c) 2012 Juan Pablo Carbajal (http://www.florian-knorn.com) + * Author: Carnë Draug (car...@gm...) + * Juan Pablo Carbajal (car...@if...) + * Copyright: (c) 2012 Carnë Draug + * (c) 2012 Juan Pablo Carbajal * Release Version: 1.0.0 * Date Started: 2012/05/22 * - * Octave M-file language file for GeSHi. - * Derived from matlab.php by Florian Knorn and octave.lang for GtkSourceView. + * GNU/Octave M-file language file for GeSHi. * * CHANGES * ------- * 2012/05/22 (1.0.0) * - First Release * - * TODO - * ------------------------- - * Instead of keywords use groups for different type of highlight - * http://qbnz.com/highlighter/geshi-doc.html#language-files * ************************************************************************************* * @@ -56,17 +53,17 @@ // underscores) or a closing bracket (round, square or curly) or a dot // (to form the array transpose operator ".'" ). // see the source of octave.lang of gtksourceview - 1 => "/(?<![0-9a-zA-Z_\)\]}\.])'.*?'/", + 3 => "/(?<![0-9a-zA-Z_\)\]}\.])'.*?'/", // Double quote strings: we also can't use QUOTEMARKS here (see single // line quotes). However, with double quote strings both \ and ... can // be used to make multiline strings. Continuation markers can be // followed by whitespace - 2 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', + 4 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', // Block comments: the ms modifiers treat strings as multiple lines (to // be able to use ^ and $ instead of newline and thus support block // comments on the first and last line of source) and make . also match // a newline - 3 => "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms", + 5 => "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms", ), 'NUMBERS' => GESHI_NUMBER_INT_BASIC | @@ -483,9 +480,11 @@ 10 => 'color: #008A8C; font-weight:bold;' // Constant functions ), 'COMMENTS' => array( - 1 => 'color: #FF00FF; font-style: italic;', // single quote strings - 2 => 'color: #FF00FF; font-style: italic;', // double quote strings - 3 => 'color: #0000FF; font-style: italic;', // block comments + 1 => 'color: #0000FF; font-style: italic;', // single quote strings + 2 => 'color: #0000FF; font-style: italic;', // double quote strings + 3 => 'color: #FF00FF; font-style: italic;', // single quote strings + 4 => 'color: #FF00FF; font-style: italic;', // double quote strings + 5 => 'color: #0000FF; font-style: italic;', // block comments 'MULTI' => 'color: #0000FF; font-style: italic;' ), 'ESCAPE_CHAR' => array( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <nir...@us...> - 2012-05-24 20:29:33
|
Revision: 10519 http://octave.svn.sourceforge.net/octave/?rev=10519&view=rev Author: nir-krakauer Date: 2012-05-24 20:29:27 +0000 (Thu, 24 May 2012) Log Message: ----------- modified cspas_sel to work correctly for unequally weighted points and use a more efficient method when n is large Modified Paths: -------------- trunk/octave-forge/main/splines/inst/csaps_sel.m Modified: trunk/octave-forge/main/splines/inst/csaps_sel.m =================================================================== --- trunk/octave-forge/main/splines/inst/csaps_sel.m 2012-05-24 20:28:58 UTC (rev 10518) +++ trunk/octave-forge/main/splines/inst/csaps_sel.m 2012-05-24 20:29:27 UTC (rev 10519) @@ -27,7 +27,7 @@ ## ## returns the selected @var{p}, the estimated data scatter (variance from the smooth trend) @var{sigma2}, and the estimated uncertainty (SD) of the smoothing spline fit at each @var{x} value, @var{unc_y}. ## -## Note: The current evaluation of the effective number of model parameters uses singular value decomposition of an @var{n} by @var{n} matrix and is not computation or storage efficient for large @var{n} (thousands or greater). See Hutchinson (1985) for a more efficient method. +## The optimization uses singular value decomposition of an @var{n} by @var{n} matrix for small @var{n} in order to quickly compute the residual size and model degrees of freedom for many @var{p} values for the optimization (Craven and Wahba 1979), while for large @var{n} (currently >300) an asymptotically more computation and storage efficient method that takes advantage of the sparsity of the problem's coefficient matrices is used (Hutchinson and de Hoog 1985). ## ## References: ## @@ -82,27 +82,38 @@ R = spdiags([h(1:end-1) 2*(h(1:end-1) + h(2:end)) h(2:end)], [-1 0 1], n-2, n-2); QT = spdiags([1 ./ h(1:end-1) -(1 ./ h(1:end-1) + 1 ./ h(2:end)) 1 ./ h(2:end)], [0 1 2], n-2, n); - -##determine influence matrix for different p without repeated inversion - [U D V] = svd(diag(1 ./ sqrt(w))*QT'*sqrtm(inv(R)), 0); D = diag(D).^2; +chol_method = (n > 300); #use a sparse Cholesky decomposition followed by solving for only the central bands of the inverse to solve for large n (faster), and singular value decomposition for small n (less prone to numerical error if data values are spaced close together) + ##choose p by minimizing the penalty function + +if chol_method + penalty_function = @(p) penalty_compute_chol(p, QT, R, y, w, n, crit); +else + ##determine influence matrix for different p without repeated inversion + [U D V] = svd(diag(1 ./ sqrt(w))*QT'*sqrtm(inv(R)), 0); D = diag(D).^2; penalty_function = @(p) penalty_compute(p, U, D, y, w, n, crit); +end p = fminbnd(penalty_function, 0, 1); +## estimate the trend uncertainty +if chol_method + [MSR, Ht] = penalty_terms_chol(p, QT, R, y, w, n); + Hd = influence_matrix_diag_chol(p, QT, R, y, w, n); +else + H = influence_matrix(p, U, D, n, w); + [MSR, Ht] = penalty_terms(H, y, w); + Hd = diag(H); +end - - H = influence_matrix(p, U, D, n); - [MSR, Ht] = penalty_terms(H, y, w); sigma2 = MSR * (n / (n-Ht)); #estimated data error variance (wahba83) - unc_y = sqrt(sigma2 * diag(H) ./ w); #uncertainty (SD) of fitted curve at each input x-value (hutchinson86) - + unc_y = sqrt(sigma2 * Hd ./ w); #uncertainty (SD) of fitted curve at each input x-value (hutchinson86) ## solve for the scaled second derivatives u and for the function values a at the knots (if p = 1, a = y) u = (6*(1-p)*QT*diag(1 ./ w)*QT' + p*R) \ (QT*y); - a = y - 6*(1-p)*diag(1 ./ w)*QT'*u; + a = y - 6*(1-p)*diag(1 ./ w)*QT'*u; #where y is calculated ## derivatives at all but the last knot for the piecewise cubic spline aa = a(1:(end-1), :); @@ -122,15 +133,38 @@ -function H = influence_matrix(p, U, D, n) #returns influence matrix for given p +function H = influence_matrix(p, U, D, n, w) #returns influence matrix for given p H = speye(n) - U * diag(D ./ (D + (p / (6*(1-p))))) * U'; + H = diag(1 ./ sqrt(w)) * H * diag(sqrt(w)); #rescale to original units endfunction function [MSR, Ht] = penalty_terms(H, y, w) - MSR = mean(w .* (y - H*y) .^ 2); #mean square residual + MSR = mean(w .* (y - (H*y)) .^ 2); #mean square residual Ht = trace(H); #effective number of fitted parameters endfunction +function Hd = influence_matrix_diag_chol(p, QT, R, y, w, n) + #LDL factorization of 6*(1-p)*QT*diag(1 ./ w)*QT' + p*R + U = chol(6*(1-p)*QT*diag(1 ./ w)*QT' + p*R, 'upper'); + d = 1 ./ diag(U); + U = diag(d)*U; + d = d .^ 2; + #5 central bands in the inverse of 6*(1-p)*QT*diag(1 ./ w)*QT' + p*R + Binv = banded_matrix_inverse(d, U, 2); + Hd = diag(speye(n) - (6*(1-p))*diag(1 ./ w)*QT'*Binv*QT); +endfunction + +function [MSR, Ht] = penalty_terms_chol(p, QT, R, y, w, n) + #LDL factorization of 6*(1-p)*QT*diag(1 ./ w)*QT' + p*R + U = chol(6*(1-p)*QT*diag(1 ./ w)*QT' + p*R, 'upper'); + d = 1 ./ diag(U); + U = diag(d)*U; + d = d .^ 2; + Binv = banded_matrix_inverse(d, U, 2); #5 central bands in the inverse of 6*(1-p)*QT*diag(1 ./ w)*QT' + p*R + Ht = 2 + trace(speye(n-2) - (6*(1-p))*QT*diag(1 ./ w)*QT'*Binv); + MSR = mean(w .* ((6*(1-p)*diag(1 ./ w)*QT'*((6*(1-p)*QT*diag(1 ./ w)*QT' + p*R) \ (QT*y)))) .^ 2); +endfunction + function J = aicc(MSR, Ht, n) J = mean(log(MSR)(:)) + 2 * (Ht + 1) / max(n - Ht - 2, 0); #hurvich98, taking the average if there are multiple data sets as in woltring86 endfunction @@ -144,7 +178,7 @@ endfunction function J = penalty_compute(p, U, D, y, w, n, crit) #evaluates a user-supplied penalty function at given p - H = influence_matrix(p, U, D, n); + H = influence_matrix(p, U, D, n, w); [MSR, Ht] = penalty_terms(H, y, w); J = feval(crit, MSR, Ht, n); if ~isfinite(J) @@ -152,7 +186,32 @@ endif endfunction +function J = penalty_compute_chol(p, QT, R, y, w, n, crit) #evaluates a user-supplied penalty function at given p + [MSR, Ht] = penalty_terms_chol(p, QT, R, y, w, n); + J = feval(crit, MSR, Ht, n); + if ~isfinite(J) + J = Inf; + endif +endfunction +function Binv = banded_matrix_inverse(d, U, m) #given a (2m+1)-banded, symmetric n x n matrix B = U'*inv(diag(d))*U, where U is unit upper triangular with bandwidth (m+1), returns Binv, a sparse symmetric matrix containing the central 2m+1 bands of the inverse of B +#Reference: Hutchinson and de Hoog 1985 + Binv = diag(d); + n = rows(U); + for i = n:(-1):1 + p = min(m, n - i); + for l = 1:p + for k = 1:p + Binv(i, i+l) -= U(i, i+k)*Binv(i + k, i + l); + end + Binv(i, i) -= U(i, i+l)*Binv(i, i+l); + end + Binv(i+(1:p), i) = Binv(i, i+(1:p))'; #add the lower triangular elements + end +endfunction + + + %!shared x,y,ret,p,sigma2,unc_y %! x = [0:0.01:1]'; y = sin(x); %! [ret,p,sigma2,unc_y]=csaps_sel(x,y,x); @@ -161,3 +220,21 @@ %!assert (ret-y, zeros(size(y)), 1E-4); %!assert (unc_y, zeros(size(unc_y)), 1E-5); +%{ +# experiments with unequal weighting of points +rand("seed", pi) +x = [0:0.01:1]'; +w = 1 ./ (0.1 + rand(size(x))); +rand("seed", pi+1) +y = x .^ 2 + 0.05*(rand(size(x))-0.5)./ sqrt(w); +[ret,p,sigma2,unc_y]=csaps_sel(x,y,x,w); + +rand("seed", pi) +x = [0:0.01:10]'; +w = 1 ./ (0.1 + rand(size(x))); +rand("seed", pi+1) +y = x .^ 2 + 0.5*(rand(size(x))-0.5)./ sqrt(w); +tic; [ret,p,sigma2,unc_y]=csaps_sel(x,y,x,w); toc + +%} + This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-24 20:29:05
|
Revision: 10518 http://octave.svn.sourceforge.net/octave/?rev=10518&view=rev Author: jpicarbajal Date: 2012-05-24 20:28:58 +0000 (Thu, 24 May 2012) Log Message: ----------- admin: lang files Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-24 18:51:59 UTC (rev 10517) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-24 20:28:58 UTC (rev 10518) @@ -45,7 +45,8 @@ 'COMMENT_SINGLE' => array(1=> '#', 2 => '%'), // we really can't use this since these characters need to be alone (or with // whitespace) on a line. We will have to use regexp - //'COMMENT_MULTI' => array('#{' => '#}', '%{' => '%}'), + 'COMMENT_MULTI' => array(), + 'QUOTEMARKS' => array(), 'COMMENT_REGEXP' => array( // Single quote strings: we really can't use QUOTEMARKS here since new // lines will break the string. Plus, single quote strings do not even @@ -55,349 +56,361 @@ // underscores) or a closing bracket (round, square or curly) or a dot // (to form the array transpose operator ".'" ). // see the source of octave.lang of gtksourceview - 3 => "/(?<![0-9a-zA-Z_\)\]}\.])'.*?'/", + 1 => "/(?<![0-9a-zA-Z_\)\]}\.])'.*?'/", // Double quote strings: we also can't use QUOTEMARKS here (see single // line quotes). However, with double quote strings both \ and ... can // be used to make multiline strings. Continuation markers can be // followed by whitespace - 4 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', + 2 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', // Block comments: the ms modifiers treat strings as multiple lines (to // be able to use ^ and $ instead of newline and thus support block // comments on the first and last line of source) and make . also match // a newline - 5 => "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms", + 3 => "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms", ), - 'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | + 'NUMBERS' => + GESHI_NUMBER_INT_BASIC | + GESHI_NUMBER_OCT_PREFIX | + GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_SCI_ZERO, 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( // Data types 1 => array( - 'cell', 'char', 'double', 'uint8', 'uint16', 'uint32', 'uint64', - 'int8','int16', 'int32', 'int64', 'logical', 'single', 'struct' + 'cell', 'char', 'double', 'uint8', 'uint16', 'uint32', 'uint64', + 'int8','int16', 'int32', 'int64', 'logical', 'single', 'struct' ), // Storage type 2 => array( - 'global', 'persistent', 'static' + 'global', 'persistent', 'static' ), // Internal variable 3 => array('ans'), // Reserved words 4 => array( - 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', - 'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction', - 'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function', - 'if', 'otherwise', 'parfor', 'return', - 'switch', 'try', 'until', 'unwind_protect', - 'unwind_protect_cleanup', 'varargin', 'varargout', 'while' + 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', + 'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction', + 'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function', + 'if', 'otherwise', 'parfor', 'return', + 'switch', 'try', 'until', 'unwind_protect', + 'unwind_protect_cleanup', 'varargin', 'varargout', 'while' ), // Built in 5 => array( - 'P_tmpdir', 'abs', 'acos', 'acosh', - 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', - 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', - 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', - 'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits', - 'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor', - 'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil', - 'cell2struct', 'cellstr', 'chdir', 'class', 'clc', - 'clear', 'columns', 'command_line_path', 'completion_append_char', - 'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj', - 'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose', - 'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext', - 'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup', - 'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning', - 'default_save_options', 'dellistener', 'diag', 'diary', 'diff', - 'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes', - 'doc_cache_file', 'drawnow', 'dup2', 'e', 'echo', - 'echo_executing_commands', 'edit_history', 'eps', 'eq', 'erf', 'erfc', - 'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin', - 'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'fclear', - 'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush', - 'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path', - 'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix', - 'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork', - 'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport', - 'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str', - 'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get', - 'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv', - 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', - 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', - 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', - 'hypot', 'ifelse', 'ignore_function_time_stamp', 'imag', - 'inferiorto', 'info_file', 'info_program', 'inline', 'input', - 'intmax', 'intmin', 'ipermute', - 'is_absolute_filename', 'is_dq_string', 'is_function_handle', - 'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha', - 'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar', - 'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty', - 'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle', - 'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical', - 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', - 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', - 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', - 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', - 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', - 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', - 'log1p', 'log2', 'lower', 'lstat', 'lt', - 'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth', - 'merge', 'methods', 'mfilename', 'minus', 'mislocked', - 'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide', - 'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock', - 'nargin', 'nargout', 'native_float_format', 'ndims', 'ne', - 'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax', - 'octave_config_info', 'octave_core_file_limit', - 'octave_core_file_name', 'octave_core_file_options', - 'octave_tmp_file_name', 'onCleanup', 'ones', - 'optimize_subsasgn_calls', 'or', 'output_max_field_width', - 'output_precision', 'page_output_immediately', 'page_screen_output', - 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pipe', 'plus', - 'popen', 'popen2', 'power', 'print_empty_dimensions', - 'print_struct_array_contents', 'printf', 'prod', - 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', - 'quit', 'rats', 'rdivide', 're_read_readline_init_file', - 'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax', - 'realmin', 'register_graphics_toolkit', 'rehash', 'rem', - 'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape', - 'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield', - 'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save', - 'save_header_format_string', 'save_precision', 'saving_history', - 'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign', - 'sigterm_dumps_octave_core', 'silent_functions', 'sin', - 'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort', - 'source', 'spalloc', 'sparse', 'sparse_auto_mutate', - 'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat', - 'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi', - 'string_fill_char', 'strncmp', 'strncmpi', 'struct2cell', - 'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum', - 'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink', - 'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand', - 'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper', - 'transpose', 'typeinfo', - 'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink', - 'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat', - 'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos', - 'whos_line_format', 'yes_or_no', 'zeros' + 'P_tmpdir', 'abs', 'acos', 'acosh', + 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', + 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', + 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', + 'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits', + 'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor', + 'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil', + 'cell2struct', 'cellstr', 'chdir', 'class', 'clc', + 'clear', 'columns', 'command_line_path', 'completion_append_char', + 'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj', + 'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose', + 'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext', + 'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup', + 'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning', + 'default_save_options', 'dellistener', 'diag', 'diary', 'diff', + 'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes', + 'doc_cache_file', 'drawnow', 'dup2', 'echo', + 'echo_executing_commands', 'edit_history','eq', 'erf', 'erfc', + 'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin', + 'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'fclear', + 'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush', + 'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path', + 'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix', + 'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork', + 'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport', + 'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str', + 'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get', + 'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv', + 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', + 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', + 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', + 'hypot', 'ifelse', 'ignore_function_time_stamp', 'imag', + 'inferiorto', 'info_file', 'info_program', 'inline', 'input', + 'intmax', 'intmin', 'ipermute', + 'is_absolute_filename', 'is_dq_string', 'is_function_handle', + 'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha', + 'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar', + 'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty', + 'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle', + 'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical', + 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', + 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', + 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', + 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', + 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', + 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', + 'log1p', 'log2', 'lower', 'lstat', 'lt', + 'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth', + 'merge', 'methods', 'mfilename', 'minus', 'mislocked', + 'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide', + 'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock', + 'nargin', 'nargout', 'native_float_format', 'ndims', 'ne', + 'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax', + 'octave_config_info', 'octave_core_file_limit', + 'octave_core_file_name', 'octave_core_file_options', + 'octave_tmp_file_name', 'onCleanup', 'ones', + 'optimize_subsasgn_calls', 'or', 'output_max_field_width', + 'output_precision', 'page_output_immediately', 'page_screen_output', + 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pipe', 'plus', + 'popen', 'popen2', 'power', 'print_empty_dimensions', + 'print_struct_array_contents', 'printf', 'prod', + 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', + 'quit', 'rats', 'rdivide', 're_read_readline_init_file', + 'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax', + 'realmin', 'register_graphics_toolkit', 'rehash', 'rem', + 'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape', + 'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield', + 'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save', + 'save_header_format_string', 'save_precision', 'saving_history', + 'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign', + 'sigterm_dumps_octave_core', 'silent_functions', 'sin', + 'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort', + 'source', 'spalloc', 'sparse', 'sparse_auto_mutate', + 'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat', + 'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi', + 'string_fill_char', 'strncmp', 'strncmpi', 'struct2cell', + 'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum', + 'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink', + 'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand', + 'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper', + 'transpose', 'typeinfo', + 'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink', + 'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat', + 'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos', + 'whos_line_format', 'yes_or_no', 'zeros' ), // Octave functions 6 => array( - 'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc', - 'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd', - 'ancestor', 'anova', 'arch_fit', 'arch_rnd', 'arch_test', - 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind', - 'assert', 'atand', 'autocor', 'autocov', 'autoreg_matrix', 'autumn', - 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test', - 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', 'betai', - 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', - 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', - 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', - 'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', - 'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph', - 'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', - 'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun', 'cellidx', - 'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd', - 'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol', - 'chop', 'circshift', 'cla', 'clabel', 'clf', 'clg', 'clock', - 'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon', - 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', - 'comma', 'common_size', 'commutation_matrix', 'compan', - 'compare_versions', 'compass', 'computer', 'cond', 'condest', - 'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv', - 'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile', 'cor', - 'cor_test', 'corr', 'corrcoef', 'cosd', 'cot', 'cotd', 'coth', 'cov', - 'cplxpair', 'cquad', 'cross', 'csc', 'cscd', 'csch', 'cstrcat', - 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cut', 'cylinder', - 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr', - 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', - 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', - 'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend', - 'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv', - 'discrete_pdf', 'discrete_rnd', 'dispatch', 'display', 'divergence', - 'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch', - 'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson', - 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv', - 'empirical_pdf', 'empirical_rnd', 'eomday', 'error_text', 'errorbar', - 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf', - 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot', - 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', - 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', - 'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', - 'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2', - 'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim', - 'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot', - 'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve', 'fstat', - 'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammai', 'gammainc', - 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf', - 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd', - 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', - 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', - 'glpkmex', 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', - 'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid', - 'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata', - 'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel', - 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden', - 'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test', - 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf', - 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', - 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', - 'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str', - 'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn', - 'intersect', 'intwarning', 'inv', 'invhilb', 'iqr', - 'is_duplicate_entry', 'is_global', 'is_leap_year', 'is_valid_file_id', - 'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir', - 'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian', - 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors', - 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop', - 'isrow', 'isscalar', 'issquare', 'isstr', 'isstrprop', 'issymmetric', - 'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf', - 'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron', - 'kruskal_wallis_test', 'krylov', 'krylovb', 'kurtosis', 'laplace_cdf', - 'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend', - 'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes', - 'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv', - 'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit', - 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', - 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', - 'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', - 'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', - 'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc', - 'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp', - 'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax', - 'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf', - 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2', - 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd', - 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str', - 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields', - 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal', - 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', - 'peaks', 'periodogram', 'perl', 'perms', 'perror', 'pie', 'pie3', - 'pink', 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3', - 'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', - 'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea', - 'polyder', 'polyderiv', 'polyfit', 'polygcd', 'polyint', 'polyout', - 'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset', - 'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg', - 'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins', - 'print_usage', 'prism', 'probit', 'profexplore', 'profile', - 'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', - 'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', - 'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', - 'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record', - 'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp', - 'regexptranslate', 'replot', 'repmat', 'residue', 'rgb2hsv', - 'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', - 'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run', - 'run_count', 'run_test', 'rundemos', 'runlength', 'runtests', - 'saveas', 'saveaudio', 'saveimage', 'saveobj', 'savepath', 'scatter', - 'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx', - 'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio', - 'setdiff', 'setfield', 'setpref', 'setstr', 'setxor', 'shading', - 'shell_cmd', 'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind', - 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows', - 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', - 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', - 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', - 'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', - 'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf', - 'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', - 'stft', 'str2double', 'str2num', 'strcat', 'strchr', 'strerror', - 'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok', - 'strtrim', 'strtrunc', 'structfun', 'studentize', 'sub2ind', - 'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer', - 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds', - 'swapbytes', 'syl', 'sylvester_matrix', 'symbfact', 'symrcm', - 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', - 'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', - 'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', - 'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh', - 'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn', - 'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol', - 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool', - 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait', - 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', - 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', - 'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', - 'urlwrite', 'usejava', 'validatestring', 'values', 'vander', 'var', - 'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin', - 'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite', - 'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday', 'weibcdf', - 'weibinv', 'weibpdf', 'weibrnd', 'welch_test', 'what', 'which', - 'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter', - 'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test', - 'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun', - 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack', - 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete', - 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', - 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', - 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', - 'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', - 'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options', - 'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom', - 'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate', - 'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm', - 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank', - 'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu', - 'urlread' + 'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc', + 'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd', + 'ancestor', 'anova', 'arch_fit', 'arch_rnd', 'arch_test', + 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind', + 'assert', 'atand', 'autocor', 'autocov', 'autoreg_matrix', 'autumn', + 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test', + 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', 'betai', + 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', + 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', + 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', + 'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', + 'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph', + 'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', + 'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun', 'cellidx', + 'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd', + 'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol', + 'chop', 'circshift', 'cla', 'clabel', 'clf', 'clg', 'clock', + 'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon', + 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', + 'comma', 'common_size', 'commutation_matrix', 'compan', + 'compare_versions', 'compass', 'computer', 'cond', 'condest', + 'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv', + 'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile', 'cor', + 'cor_test', 'corr', 'corrcoef', 'cosd', 'cot', 'cotd', 'coth', 'cov', + 'cplxpair', 'cquad', 'cross', 'csc', 'cscd', 'csch', 'cstrcat', + 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cut', 'cylinder', + 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr', + 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', + 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', + 'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend', + 'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv', + 'discrete_pdf', 'discrete_rnd', 'dispatch', 'display', 'divergence', + 'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch', + 'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson', + 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv', + 'empirical_pdf', 'empirical_rnd', 'eomday', 'error_text', 'errorbar', + 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf', + 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot', + 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', + 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', + 'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', + 'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2', + 'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim', + 'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot', + 'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve', 'fstat', + 'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammai', 'gammainc', + 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf', + 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd', + 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', + 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', + 'glpkmex', 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', + 'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid', + 'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata', + 'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel', + 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden', + 'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test', + 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf', + 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', + 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', + 'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str', + 'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn', + 'intersect', 'intwarning', 'inv', 'invhilb', 'iqr', + 'is_duplicate_entry', 'is_global', 'is_leap_year', 'is_valid_file_id', + 'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir', + 'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian', + 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors', + 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop', + 'isrow', 'isscalar', 'issquare', 'isstr', 'isstrprop', 'issymmetric', + 'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf', + 'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron', + 'kruskal_wallis_test', 'krylov', 'krylovb', 'kurtosis', 'laplace_cdf', + 'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend', + 'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes', + 'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv', + 'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit', + 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', + 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', + 'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', + 'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', + 'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc', + 'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp', + 'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax', + 'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf', + 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2', + 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd', + 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str', + 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields', + 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal', + 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', + 'peaks', 'periodogram', 'perl', 'perms', 'perror', 'pie', 'pie3', + 'pink', 'pinv', 'planerot', 'playaudio', 'plot', 'plot3', + 'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', + 'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea', + 'polyder', 'polyderiv', 'polyfit', 'polygcd', 'polyint', 'polyout', + 'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset', + 'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg', + 'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins', + 'print_usage', 'prism', 'probit', 'profexplore', 'profile', + 'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', + 'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', + 'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', + 'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record', + 'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp', + 'regexptranslate', 'replot', 'repmat', 'residue', 'rgb2hsv', + 'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', + 'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run', + 'run_count', 'run_test', 'rundemos', 'runlength', 'runtests', + 'saveas', 'saveaudio', 'saveimage', 'saveobj', 'savepath', 'scatter', + 'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx', + 'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio', + 'setdiff', 'setfield', 'setpref', 'setstr', 'setxor', 'shading', + 'shell_cmd', 'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind', + 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows', + 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', + 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', + 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', + 'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', + 'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf', + 'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', + 'stft', 'str2double', 'str2num', 'strcat', 'strchr', 'strerror', + 'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok', + 'strtrim', 'strtrunc', 'structfun', 'studentize', 'sub2ind', + 'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer', + 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds', + 'swapbytes', 'syl', 'sylvester_matrix', 'symbfact', 'symrcm', + 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', + 'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', + 'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', + 'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh', + 'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn', + 'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol', + 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool', + 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait', + 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', + 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', + 'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', + 'urlwrite', 'usejava', 'validatestring', 'values', 'vander', 'var', + 'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin', + 'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite', + 'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday', 'weibcdf', + 'weibinv', 'weibpdf', 'weibrnd', 'welch_test', 'what', 'which', + 'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter', + 'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test', + 'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun', + 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack', + 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete', + 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', + 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', + 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', + 'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', + 'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options', + 'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom', + 'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate', + 'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm', + 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank', + 'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu', + 'urlread' ), // Private builtin 7 => array( - '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__', - '__accumdim_sum__', '__builtins__', '__calc_dimensions__', - '__current_scope__', '__display_tokens__', '__dump_symtab_info__', - '__end__', '__get__', '__go_axes__', '__go_axes_init__', - '__go_delete__', '__go_execute_callback__', '__go_figure__', - '__go_figure_handles__', '__go_handles__', '__go_hggroup__', - '__go_image__', '__go_line__', '__go_patch__', '__go_surface__', - '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__', - '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__', - '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__', - '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__', - '__keywords__', '__lexer_debug_flag__', '__list_functions__', - '__operators__', '__parent_classes__', '__parser_debug_flag__', - '__pathorig__', '__profiler_data__', '__profiler_enable__', - '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__', - '__token_count__', '__varval__', '__version_info__', '__which__' + '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__', + '__accumdim_sum__', '__builtins__', '__calc_dimensions__', + '__current_scope__', '__display_tokens__', '__dump_symtab_info__', + '__end__', '__get__', '__go_axes__', '__go_axes_init__', + '__go_delete__', '__go_execute_callback__', '__go_figure__', + '__go_figure_handles__', '__go_handles__', '__go_hggroup__', + '__go_image__', '__go_line__', '__go_patch__', '__go_surface__', + '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__', + '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__', + '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__', + '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__', + '__keywords__', '__lexer_debug_flag__', '__list_functions__', + '__operators__', '__parent_classes__', '__parser_debug_flag__', + '__pathorig__', '__profiler_data__', '__profiler_enable__', + '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__', + '__token_count__', '__varval__', '__version_info__', '__which__' ), // Private Octave functions 8 => array( - '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', - '__dsearchn__', '__error_text__', '__finish__', '__fltk_uigetfile__', - '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', - '__init_gnuplot__', '__lin_interpn__', '__magick_read__', - '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__', - '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', - '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', - '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', - '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', - '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__', - '__magick_write__' + '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', + '__dsearchn__', '__error_text__', '__finish__', '__fltk_uigetfile__', + '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', + '__init_gnuplot__', '__lin_interpn__', '__magick_read__', + '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__', + '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', + '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', + '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', + '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', + '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__', + '__magick_write__' ), // Builtin Global Variables 9 => array( - 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', - 'F_SETFL', 'IMAGE_PATH', 'OCTAVE_HOME', - 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', - 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', - 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', - 'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO', - 'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP', - 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', - 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' + 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', + 'F_SETFL', 'IMAGE_PATH', 'OCTAVE_HOME', + 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', + 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', + 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', + 'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO', + 'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP', + 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', + 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' ), // Constant functions 10 => array ('e','eps','inf','nan','NA','pi','i','j','true','false'), - // Package manager - 17 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") ), 'SYMBOLS' => array( + // Comparison & logical 0 => array( '!', '!=', '&', '&&','|', '||', '~', '~=', - '<', '<=', '=', '==', '>', '>='), + '<', '<=', '==', '>', '>=' + ), + // Aritmethical 1 => array('*', '**', '+', '++', '-', '--', '/', "\\","'"), + // Elementwise arithmetical 2 => array('.*', '.**','./', '.^', '^',".\\",".'"), - 3 => array(':'), - 4 => array(',', '...', ';') + // Arithmetical & assignation + 3 => array( + '*=','+=','-=','/=','\=','**=','^=', + '.*=','.+=','.-=','./=','.\=','.**=','.^=','=' + ), + // Indexer + 4 => array(':'), + // Delimiters + 5 => array(',', '...', ';'), ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, @@ -430,16 +443,14 @@ 2 => '::' ), 'REGEXPS' => array( - // Boolean functions - // false and true can be used as functions too. - // Do not highlight as boolean if followed by parentheses. -# 1 => array( -# GESHI_SEARCH => '(false|true)(\s*\\()', -# GESHI_REPLACE => '\\1', -# GESHI_MODIFIERS => '', -# GESHI_BEFORE => '', -# GESHI_AFTER => '\\2' -# ), + // Complex numbers + 1 => array( + GESHI_SEARCH => '([+-]?\d+(\.\d+)?(e\d+)?\s*[+-]\s*([ij]\*?)?\d+(\.\d+)?(e\d+)?(\*?[ij])?)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => 'si', + GESHI_BEFORE => '', + GESHI_AFTER => '' + ), //Function handle 2 => array( GESHI_SEARCH => '(@([A-Za-z_][A-Za-z1-9_]*)?)', @@ -447,6 +458,14 @@ GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '' + ), + //Packaging system + 3 => array( + GESHI_SEARCH => '((\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' ) ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, @@ -454,55 +473,55 @@ 'HIGHLIGHT_STRICT_BLOCK' => array(), 'STYLES' => array( 'KEYWORDS' => array( - 1 => 'color: #2E8B57; font-weight:bold;', // Data types - 2 => 'color: #2E8B57;', // Storage type - 3 => 'color: #0000FF; font-weight:bold;', // Internal variable - 4 => 'color: #990000; font-weight:bold;', // Reserved words - 5 => 'color: #008A8C; font-weight:bold;', // Built-in - 6 => 'color: #008A8C;', // Octave functions - 9 => 'color: #000000; font-weight:bold;', // Builtin Global Variables - 10 => 'color: #008A8C; font-weight:bold;' // Constant functions + 1 => 'color: #2E8B57; font-weight:bold;', // Data types + 2 => 'color: #2E8B57;', // Storage type + 3 => 'color: #0000FF; font-weight:bold;', // Internal variable + 4 => 'color: #990000; font-weight:bold;', // Reserved words + 5 => 'color: #008A8C; font-weight:bold;', // Built-in + 6 => 'color: #008A8C;', // Octave functions + 9 => 'color: #000000; font-weight:bold;', // Builtin Global Variables + 10 => 'color: #008A8C; font-weight:bold;' // Constant functions ), 'COMMENTS' => array( - 1 => 'color: #0000FF; font-style: italic;', - 2 => 'color: #0000FF; font-style: italic;', - 3 => 'color: #FF00FF; font-style: italic;', // single quote strings - 4 => 'color: #FF00FF; font-style: italic;', // double quote strings - 5 => 'color: #0000FF; font-style: italic;', // block comments - 'MULTI' => 'color: #0000FF; font-style: italic;' + 1 => 'color: #FF00FF; font-style: italic;', // single quote strings + 2 => 'color: #FF00FF; font-style: italic;', // double quote strings + 3 => 'color: #0000FF; font-style: italic;', // block comments + 'MULTI' => 'color: #0000FF; font-style: italic;' ), 'ESCAPE_CHAR' => array( - 0 => '' + 0 => '' ), 'BRACKETS' => array( - 0 => 'color: #080;' + 0 => 'color: #080;' ), 'STRINGS' => array( - 0 => 'color: #A020F0;' + 0 => 'color: #A020F0;' ), 'NUMBERS' => array( - 0 => 'color: #cc66cc;', - GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', - GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', - GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;' + 0 => 'color: #cc66cc;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;' ), 'METHODS' => array( - 1 => '', - 2 => '' + 1 => '', + 2 => '' ), 'SYMBOLS' => array( - 0 => 'color: #FF0000; font-weight:bold;', - 1 => 'color: #FF0000; font-weight:bold;', - 2 => 'color: #FF0000; font-weight:bold;', - 3 => 'color: #FF0000;', - 4 => 'color: #33f' + 0 => 'color: #FF9696; font-weight:bold;', // Comparison & logical + 1 => 'color: #CC0000; font-weight:bold;', // Aritmethical + 2 => 'color: #993333; font-weight:bold;', // Elementwise arithmetical + 3 => 'color: #FF0000; font-weight:bold;', // Arithmetical & assignation + 4 => 'color: #33F;', // Indexer + 5 => 'color: #33F;' // Delimiters ), 'REGEXPS' => array( -# 1 => 'color: #008A8C; font-weight:bold;', // Boolean func - 2 => 'color: #006600; font-weight:bold;', //Function handle + 1 => 'color: #9966FF; font-weight:bold;', // Complex number + 2 => 'color: #006600; font-weight:bold;', //Function handle + 3 => 'color: #996600; font-weight:bold;', // Package manager ), 'SCRIPT' => array( - 0 => '' + 0 => '' ) ) ); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-24 18:52:05
|
Revision: 10517 http://octave.svn.sourceforge.net/octave/?rev=10517&view=rev Author: jpicarbajal Date: 2012-05-24 18:51:59 +0000 (Thu, 24 May 2012) Log Message: ----------- admin: language file for geshi Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-24 11:25:17 UTC (rev 10516) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-24 18:51:59 UTC (rev 10517) @@ -61,6 +61,11 @@ // be used to make multiline strings. Continuation markers can be // followed by whitespace 4 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', + // Block comments: the ms modifiers treat strings as multiple lines (to + // be able to use ^ and $ instead of newline and thus support block + // comments on the first and last line of source) and make . also match + // a newline + 5 => "/^\s*?[%#]{\s*?$.*?^\s*?[%#]}\s*?$/ms", ), 'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | GESHI_NUMBER_FLT_SCI_ZERO, @@ -120,7 +125,7 @@ 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', - 'hypot', 'i', 'ifelse', 'ignore_function_time_stamp', 'imag', + 'hypot', 'ifelse', 'ignore_function_time_stamp', 'imag', 'inferiorto', 'info_file', 'info_program', 'inline', 'input', 'intmax', 'intmin', 'ipermute', 'is_absolute_filename', 'is_dq_string', 'is_function_handle', @@ -132,7 +137,7 @@ 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', - 'j', 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', + 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', 'log1p', 'log2', 'lower', 'lstat', 'lt', @@ -380,13 +385,8 @@ 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' ), - // Floating point number - 13 => array("\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?" - ), - // Octal number - 14 => array("\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), - // Hex number - 15 => array("\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), + // Constant functions + 10 => array ('e','eps','inf','nan','NA','pi','i','j','true','false'), // Package manager 17 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") ), @@ -410,10 +410,7 @@ 7 => false, 8 => false, 9 => false, - 13 => false, - 14 => false, - 15 => false, - 17 => false + 10 => false ), 'URLS' => array( 1 => '', @@ -425,10 +422,7 @@ 7 => '', 8 => '', 9 => '', - 13 => '', - 14 => '', - 15 => '', - 17 => '' + 10 => '' ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( @@ -436,18 +430,16 @@ 2 => '::' ), 'REGEXPS' => array( - //Complex numbers -// 0 => "(?<![\\w\\/])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w]|\<DOT>html)", // Boolean functions // false and true can be used as functions too. // Do not highlight as boolean if followed by parentheses. - 1 => array( - GESHI_SEARCH => '(false|true)(\s*\\()', - GESHI_REPLACE => '\\1', - GESHI_MODIFIERS => '', - GESHI_BEFORE => '', - GESHI_AFTER => '\\2' - ), +# 1 => array( +# GESHI_SEARCH => '(false|true)(\s*\\()', +# GESHI_REPLACE => '\\1', +# GESHI_MODIFIERS => '', +# GESHI_BEFORE => '', +# GESHI_AFTER => '\\2' +# ), //Function handle 2 => array( GESHI_SEARCH => '(@([A-Za-z_][A-Za-z1-9_]*)?)', @@ -455,15 +447,6 @@ GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '' - ), - // Most of the constants can be used as functions too. Do not highlight - // as constants if followed by parentheses. - 3 => array( - GESHI_SEARCH => '(e|eps|inf|nan|NA|pi)(\s*\\()', - GESHI_REPLACE => '\\1', - GESHI_MODIFIERS => '', - GESHI_BEFORE => '', - GESHI_AFTER => '\\2' ) ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, @@ -473,17 +456,19 @@ 'KEYWORDS' => array( 1 => 'color: #2E8B57; font-weight:bold;', // Data types 2 => 'color: #2E8B57;', // Storage type -// 3 => 'color: #0000FF; font-weight:bold;', // Internal variable + 3 => 'color: #0000FF; font-weight:bold;', // Internal variable 4 => 'color: #990000; font-weight:bold;', // Reserved words 5 => 'color: #008A8C; font-weight:bold;', // Built-in 6 => 'color: #008A8C;', // Octave functions - 9 => 'color: #000000; font-weight:bold;' // Builtin Global Variables + 9 => 'color: #000000; font-weight:bold;', // Builtin Global Variables + 10 => 'color: #008A8C; font-weight:bold;' // Constant functions ), 'COMMENTS' => array( 1 => 'color: #0000FF; font-style: italic;', 2 => 'color: #0000FF; font-style: italic;', 3 => 'color: #FF00FF; font-style: italic;', // single quote strings 4 => 'color: #FF00FF; font-style: italic;', // double quote strings + 5 => 'color: #0000FF; font-style: italic;', // block comments 'MULTI' => 'color: #0000FF; font-style: italic;' ), 'ESCAPE_CHAR' => array( @@ -513,9 +498,8 @@ 4 => 'color: #33f' ), 'REGEXPS' => array( - 1 => 'color: #008A8C; font-weight:bold;', // Boolean func +# 1 => 'color: #008A8C; font-weight:bold;', // Boolean func 2 => 'color: #006600; font-weight:bold;', //Function handle - 3 => 'color: #008A8C; font-weight:bold;' // Constant used as func ), 'SCRIPT' => array( 0 => '' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-05-24 11:25:27
|
Revision: 10516 http://octave.svn.sourceforge.net/octave/?rev=10516&view=rev Author: carandraug Date: 2012-05-24 11:25:17 +0000 (Thu, 24 May 2012) Log Message: ----------- struct: new release of package was 1.0.10 Modified Paths: -------------- trunk/octave-forge/main/struct/DESCRIPTION trunk/octave-forge/main/struct/NEWS Modified: trunk/octave-forge/main/struct/DESCRIPTION =================================================================== --- trunk/octave-forge/main/struct/DESCRIPTION 2012-05-24 11:20:26 UTC (rev 10515) +++ trunk/octave-forge/main/struct/DESCRIPTION 2012-05-24 11:25:17 UTC (rev 10516) @@ -1,6 +1,6 @@ Name: Struct Version: 1.0.10 -Date: 2012-03-25 +Date: 2012-05-24 Author: Etienne Grossmann <et...@eg...>, Olaf Till <i7...@t-...> Maintainer: Olaf Till <i7...@t-...> Title: Structure Handling. Modified: trunk/octave-forge/main/struct/NEWS =================================================================== --- trunk/octave-forge/main/struct/NEWS 2012-05-24 11:20:26 UTC (rev 10515) +++ trunk/octave-forge/main/struct/NEWS 2012-05-24 11:25:17 UTC (rev 10516) @@ -1,4 +1,4 @@ -Summary of important user-visible changes for struct 1.1.0: +Summary of important user-visible changes for struct 1.0.10: ------------------------------------------------------------------- ** The function `arefields' has been removed in favour of the octave This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-05-24 11:20:32
|
Revision: 10515 http://octave.svn.sourceforge.net/octave/?rev=10515&view=rev Author: paramaniac Date: 2012-05-24 11:20:26 +0000 (Thu, 24 May 2012) Log Message: ----------- control-devel: check for equal sampling times Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m Added Paths: ----------- trunk/octave-forge/extra/control-devel/devel/subsref_problem.m Added: trunk/octave-forge/extra/control-devel/devel/subsref_problem.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/subsref_problem.m (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/subsref_problem.m 2012-05-24 11:20:26 UTC (rev 10515) @@ -0,0 +1,10 @@ +DestillationME + +tsam = dat.tsam +tsam{:} + + +dat.tsam +dat.tsam{:} % only 1 times -1 instead of 4 + +a(1:4) = tsam{:} \ No newline at end of file Modified: trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m 2012-05-24 07:24:35 UTC (rev 10514) +++ trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m 2012-05-24 11:20:26 UTC (rev 10515) @@ -58,7 +58,15 @@ endif [ns, l, m, e] = size (dat); # dataset dimensions + tsam = dat.tsam + ## multi-experiment data requires equal sampling times + if (e > 1 && ! isequal (tsam{:})) + error ("%s: require equally sampled experiments", method); + else + tsam = tsam{1}; + endif + ## default arguments alg = 0; conct = 1; # no connection between experiments @@ -125,7 +133,7 @@ [a, b, c, d, q, ry, s, k, x0] = slident (dat.y, dat.u, nobr, n, meth, alg, conct, ctrl, rcond, tol); ## assemble model - sys = ss (a, b, c, d, dat.tsam{1}); + sys = ss (a, b, c, d, tsam); ## return x0 as vector for single-experiment data ## instead of a cell containing one vector This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <i7...@us...> - 2012-05-24 07:24:42
|
Revision: 10514 http://octave.svn.sourceforge.net/octave/?rev=10514&view=rev Author: i7tiol Date: 2012-05-24 07:24:35 +0000 (Thu, 24 May 2012) Log Message: ----------- Format corrections to help. Modified Paths: -------------- trunk/octave-forge/main/optim/inst/cauchy.m trunk/octave-forge/main/optim/inst/nonlin_min.m Modified: trunk/octave-forge/main/optim/inst/cauchy.m =================================================================== --- trunk/octave-forge/main/optim/inst/cauchy.m 2012-05-24 06:50:59 UTC (rev 10513) +++ trunk/octave-forge/main/optim/inst/cauchy.m 2012-05-24 07:24:35 UTC (rev 10514) @@ -24,7 +24,7 @@ ## ## @example ## @group -## d = cauchy(16,1.5,0,@(x) exp(x)); +## d = cauchy(16, 1.5, 0, @@(x) exp(x)); ## @result{} d(2) = 1.0000 # first (2-1) derivative of function f (index starts from zero) ## @end group ## @end example Modified: trunk/octave-forge/main/optim/inst/nonlin_min.m =================================================================== --- trunk/octave-forge/main/optim/inst/nonlin_min.m 2012-05-24 06:50:59 UTC (rev 10513) +++ trunk/octave-forge/main/optim/inst/nonlin_min.m 2012-05-24 07:24:35 UTC (rev 10514) @@ -210,10 +210,10 @@ ## a way, it must return the entries (columns) of the gradient ## (jacobian) as fields of a structure under the respective parameter ## names. If the hessian function is configured in such a way, it must -## return a structure (say @code{h}) with fields e.g. as @code{h.a.b = -## value} for @{value} being the 2nd partial derivative with respect to -## @code{a} and @code{b}. There is no need to also specify the field -## @code{h.b.a} in this example. +## return a structure (say @code{h}) with fields e.g. as +## @code{h.a.b = value} for @code{value} being the 2nd partial derivative +## with respect to @code{a} and @code{b}. There is no need to also +## specify the field @code{h.b.a} in this example. ## ## Similarly, for specifying linear constraints, instead of the matrix ## (called @code{m} above), a structure containing the rows of the This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <i7...@us...> - 2012-05-24 06:51:10
|
Revision: 10513 http://octave.svn.sourceforge.net/octave/?rev=10513&view=rev Author: i7tiol Date: 2012-05-24 06:50:59 +0000 (Thu, 24 May 2012) Log Message: ----------- Updated NEWS and nonlin_min help. Modified Paths: -------------- trunk/octave-forge/main/optim/INDEX trunk/octave-forge/main/optim/NEWS trunk/octave-forge/main/optim/inst/nonlin_min.m Modified: trunk/octave-forge/main/optim/INDEX =================================================================== --- trunk/octave-forge/main/optim/INDEX 2012-05-24 06:03:47 UTC (rev 10512) +++ trunk/octave-forge/main/optim/INDEX 2012-05-24 06:50:59 UTC (rev 10513) @@ -12,6 +12,7 @@ fminsearch cg_min de_min + nonlin_min Data fitting expfit wpolyfit Modified: trunk/octave-forge/main/optim/NEWS =================================================================== --- trunk/octave-forge/main/optim/NEWS 2012-05-24 06:03:47 UTC (rev 10512) +++ trunk/octave-forge/main/optim/NEWS 2012-05-24 06:50:59 UTC (rev 10513) @@ -3,7 +3,7 @@ ** The following functions are new optim 1.1.0: - powell cauchy + powell cauchy nonlin_min ** The following functions have been deprecated since they have been implemented in Octave core: @@ -23,6 +23,23 @@ deriv linprog - ** The function `line_min' has a configurable setpesize and max evals + ** The function `line_min' has a configurable setpesize and max evals. + ** Added possibility to restrict a parameter to samin. + ** Package is no longer automatically loaded. + + +Some important changes of the last versions of optim before 1.1.0: +------------------------------------------------------------------ + + ** New functions: + + jacobs: complex step derivative approximation + + nonlin_residmin, nonlin_curvefit: Frontends with a general + interface for constrained residual-based optimization. They + allow a.o. optimization of structure-based named parameters or + parameter-arrays. A backend is included, which is derived from + the algorithm of leasqr, but enables feasible-path optimization + with linear and general constraints. Modified: trunk/octave-forge/main/optim/inst/nonlin_min.m =================================================================== --- trunk/octave-forge/main/optim/inst/nonlin_min.m 2012-05-24 06:03:47 UTC (rev 10512) +++ trunk/octave-forge/main/optim/inst/nonlin_min.m 2012-05-24 06:50:59 UTC (rev 10513) @@ -17,13 +17,14 @@ ## @deftypefn {Function File} {[@var{p}, @var{objf}, @var{cvg}, @var{outp}] =} nonlin_min (@var{f}, @var{pin}) ## @deftypefnx {Function File} {[@var{p}, @var{objf}, @var{cvg}, @var{outp}] =} nonlin_min (@var{f}, @var{pin}, @var{settings}) ## -## Frontend for nonlinear minimization of a scalar objective function. -## The functions supplied by the user have a minimal interface; any -## additionally needed constants can be supplied by wrapping the user -## functions into anonymous functions. +## Frontend for constrained nonlinear minimization of a scalar objective +## function. The functions supplied by the user have a minimal +## interface; any additionally needed constants can be supplied by +## wrapping the user functions into anonymous functions. ## ## At the moment there is only a stochastic backend implemented, so that -## some settings in the frontend have no use. +## some settings in the frontend have no use. A backend for +## feasible-path sequential quadratic programming is being worked on. ## ## The following description applies to usage with vector-based ## parameter handling. Differences in usage for structure-based This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <i7...@us...> - 2012-05-24 06:03:58
|
Revision: 10512 http://octave.svn.sourceforge.net/octave/?rev=10512&view=rev Author: i7tiol Date: 2012-05-24 06:03:47 +0000 (Thu, 24 May 2012) Log Message: ----------- Add functions for constrained optimization of scalar-valued objective function. Modified Paths: -------------- trunk/octave-forge/main/optim/PKG_ADD Added Paths: ----------- trunk/octave-forge/main/optim/inst/nonlin_min.m trunk/octave-forge/main/optim/inst/private/__s2mat__.m trunk/octave-forge/main/optim/inst/private/__siman__.m trunk/octave-forge/main/optim/inst/private/__sqp__.m Modified: trunk/octave-forge/main/optim/PKG_ADD =================================================================== --- trunk/octave-forge/main/optim/PKG_ADD 2012-05-24 05:54:36 UTC (rev 10511) +++ trunk/octave-forge/main/optim/PKG_ADD 2012-05-24 06:03:47 UTC (rev 10512) @@ -3,5 +3,5 @@ ## sometime in 3.3.54+, if I remember right __all_opts__ ("nonlin_residmin"); __all_opts__ ("residmin_stat"); - ## __all_opts__ ("nonlin_min"); + __all_opts__ ("nonlin_min"); endif Added: trunk/octave-forge/main/optim/inst/nonlin_min.m =================================================================== --- trunk/octave-forge/main/optim/inst/nonlin_min.m (rev 0) +++ trunk/octave-forge/main/optim/inst/nonlin_min.m 2012-05-24 06:03:47 UTC (rev 10512) @@ -0,0 +1,1354 @@ +## Copyright (C) 2012 Olaf Till <i7...@t-...> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; If not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {[@var{p}, @var{objf}, @var{cvg}, @var{outp}] =} nonlin_min (@var{f}, @var{pin}) +## @deftypefnx {Function File} {[@var{p}, @var{objf}, @var{cvg}, @var{outp}] =} nonlin_min (@var{f}, @var{pin}, @var{settings}) +## +## Frontend for nonlinear minimization of a scalar objective function. +## The functions supplied by the user have a minimal interface; any +## additionally needed constants can be supplied by wrapping the user +## functions into anonymous functions. +## +## At the moment there is only a stochastic backend implemented, so that +## some settings in the frontend have no use. +## +## The following description applies to usage with vector-based +## parameter handling. Differences in usage for structure-based +## parameter handling will be explained in a separate section below. +## +## @var{f}: objective function. It gets a column vector of real +## parameters as argument. In gradient determination, this function may +## be called with an informational second argument, whose content +## depends on the function for gradient determination. +## +## @var{pin}: real column vector of initial parameters. +## +## @var{settings}: structure whose fields stand for optional settings +## referred to below. The fields can be set by @code{optimset()} with +## Octave versions 3.3.55 or greater; with older Octave versions, the +## fields must be set directly as structure-fields in the correct case. +## +## The returned values are the column vector of final parameters +## @var{p}, the final value of the objective function @var{objf}, an +## integer @var{cvg} indicating if and how optimization succeeded or +## failed, and a structure @var{outp} with additional information, +## curently with only one field: @var{niter}, the number of iterations. +## @var{cvg} is greater than zero for success and less than or equal to +## zero for failure; its possible values depend on the used backend and +## currently can be @code{0} (maximum number of iterations exceeded), +## @code{1} (fixed number of iterations completed, e.g. in stochastic +## optimizers), @code{2} (parameter change less than specified precision +## in two consecutive iterations), or @code{3} (improvement in objective +## function less than specified). +## +## @var{settings}: +## +## @code{Algorithm}: String specifying the backend. Currently there is +## no default, since only a stochastic backend is implemented +## (@code{"siman"}). It is described in a separate section below. +## +## @code{objf_grad}: Function computing the gradient of the objective +## function with respect to the parameters, assuming residuals are +## reshaped to a vector. Default: finite differences. Will be called +## with the column vector of parameters and an informational structure +## as arguments. The structure has the fields @code{f}: value of +## objective function for current parameters, @code{fixed}: logical +## vector indicating which parameters are not optimized, so these +## partial derivatives need not be computed and can be set to zero, +## @code{diffp}, @code{diff_onesided}, @code{lbound}, @code{ubound}: +## identical to the user settings of this name, @code{plabels}: +## 1-dimensional cell-array of column-cell-arrays, each column with +## labels for all parameters, the first column contains the numerical +## indices of the parameters. The default gradient function will call +## the objective function with the second argument set with fields +## @code{f}: as the @code{f} passed to the gradient function, +## @code{plabels}: cell-array of 1x1 cell-arrays with the entries of the +## column-cell-arrays of @code{plabels} as passed to the jacobian +## function corresponding to current parameter, @code{side}: @code{0} +## for one-sided interval, @code{1} or @code{2}, respectively, for the +## sides of a two-sided interval, and @code{parallel}: logical scalar +## indicating parallel computation of partial derivatives. +## +## @code{objf_hessian}: Function computing the Hessian of the objective +## function with respect to the parameters. The default is backend +## specific. Will be called with the column vector of parameters as +## argument. +## +## @code{diffp}: column vector of fractional intervals (doubled for +## central intervals) supposed to be used by gradient functions +## performing finite differencing. Default: @code{.001 * ones (size +## (parameters))}. The default gradient function will use these as +## absolute intervals for parameters with value zero. +## +## @code{diff_onesided}: logical column vector indicating that one-sided +## intervals should be used by gradient functions performing finite +## differencing. Default: @code{false (size (parameters))}. +## +## @code{complex_step_derivative_objf}, +## @code{complex_step_derivative_inequc}, +## @code{complex_step_derivative_equc}: logical scalars, default: false. +## Estimate gradient of objective function, general inequality +## constraints, and general equality constraints, respectively, with +## complex step derivative approximation. Use only if you know that your +## objective function, function of general inequality constraints, or +## function of general equality constraints, respectively, is suitable +## for this. No user function for the respective gradient must be +## specified. +## +## @code{cstep}: scalar step size for complex step derivative +## approximation. Default: 1e-20. +## +## @code{fixed}: logical column vector indicating which parameters +## should not be optimized, but kept to their inital value. Fixing is +## done independently of the backend, but the backend may choose to fix +## additional parameters under certain conditions. +## +## @code{lbound}, @code{ubound}: column vectors of lower and upper +## bounds for parameters. Default: @code{-Inf} and @code{+Inf}, +## respectively. The bounds are non-strict, i.e. parameters are allowed +## to be exactly equal to a bound. The default gradient function will +## respect bounds (but no further inequality constraints) in finite +## differencing. +## +## @code{inequc}: Further inequality constraints. Cell-array containing +## up to four entries, two entries for linear inequality constraints +## and/or one or two entries for general inequality constraints. Either +## linear or general constraints may be the first entries, but the two +## entries for linear constraints must be adjacent and, if two entries +## are given for general constraints, they also must be adjacent. The +## two entries for linear constraints are a matrix (say @code{m}) and a +## vector (say @code{v}), specifying linear inequality constraints of +## the form @code{m.' * parameters + v >= 0}. The first entry for +## general constraints must be a differentiable vector valued function +## (say @code{h}), specifying general inequality constraints of the form +## @code{h (p[, idx]) >= 0}; @code{p} is the column vector of optimized +## paraters and the optional argument @code{idx} is a logical index. +## @code{h} has to return the values of all constraints if @code{idx} is +## not given, and has to return only the indexed constraints if +## @code{idx} is given (so computation of the other constraints can be +## spared). In gradient determination, this function may be called with +## an informational third argument, whose content depends on the +## function for gradient determination. If a second entry for general +## inequality constraints is given, it must be a function computing the +## jacobian of the constraints with respect to the parameters. For this +## function, the description of @code{dfdp} above applies, except that +## it is called with 3 arguments since it has an additional argument +## @code{idx} --- a logical index --- at second position, indicating +## which rows of the jacobian must be returned, and except that the +## default function calls @code{h} with 3 arguments, since the argument +## @code{idx} is also supplied. Note that specifying linear constraints +## as general constraints will generally waste performance, even if +## further, non-linear, general constraints are also specified. +## +## @code{equc}: Equality constraints. Specified the same way as +## inequality constraints (see @code{inequc}). +## +## @code{cpiv}: Function for complementary pivoting, usable in +## algorithms for constraints. Default: @ cpiv_bard. Only the default +## function is supplied with the package. +## +## @code{TolFun}: Minimum fractional improvement in objective function +## in an iteration (abortion criterium). Default: .0001. +## +## @code{MaxIter}: Maximum number of iterations (abortion criterium). +## Default: backend-specific. +## +## @code{fract_prec}: Column Vector, minimum fractional change of +## parameters in an iteration (abortion criterium if violated in two +## consecutive iterations). Default: backend-specific. +## +## @code{max_fract_change}: Column Vector, enforced maximum fractional +## change in parameters in an iteration. Default: backend-specific. +## +## @code{Display}: String indicating the degree of verbosity. Default: +## @code{"off"}. Possible values are currently @code{"off"} (no +## messages) and @code{"iter"} (some messages after each iteration). +## Support of this setting and its exact interpretation are +## backend-specific. +## +## @code{debug}: Logical scalar, default: @code{false}. Will be passed +## to the backend, which might print debugging information if true. +## +## Structure-based parameter handling +## +## The setting @code{param_order} is a cell-array with names of the +## optimized parameters. If not given, and initial parameters are a +## structure, all parameters in the structure are optimized. If initial +## parameters are a structure, it is an error if @code{param_order} is +## not given and there are any non-structure-based configuration items +## or functions. +## +## The initial parameters @var{pin} can be given as a structure +## containing at least all fields named in @code{param_order}. In this +## case the returned parameters @var{p} will also be a structure. +## +## Each user-supplied function can be called with the argument +## containing the current parameters being a structure instead of a +## column vector. For this, a corresponding setting must be set to +## @code{true}: @code{objf_pstruct} (objective function), +## @code{objf_grad_pstruct} (gradient of objective function), +## @code{objf_hessian_pstruct} (hessian of objective function), +## @code{f_inequc_pstruct} (general inequality constraints), +## @code{df_inequc_pstruct} (jacobian of general inequality +## constraints), @code{f_equc_pstruct} (general equality constraints), +## and @code{df_equc_pstruct} (jacobian of general equality +## constraints). If a gradient (jacobian) function is configured in such +## a way, it must return the entries (columns) of the gradient +## (jacobian) as fields of a structure under the respective parameter +## names. If the hessian function is configured in such a way, it must +## return a structure (say @code{h}) with fields e.g. as @code{h.a.b = +## value} for @{value} being the 2nd partial derivative with respect to +## @code{a} and @code{b}. There is no need to also specify the field +## @code{h.b.a} in this example. +## +## Similarly, for specifying linear constraints, instead of the matrix +## (called @code{m} above), a structure containing the rows of the +## matrix in fields under the respective parameter names can be given. +## In this case, rows containing only zeros need not be given. +## +## The vector-based settings @code{lbound}, @code{ubound}, +## @code{fixed}, @code{diffp}, @code{diff_onesided}, @code{fract_prec}, +## and @code{max_fract_change} can be replaced by the setting +## @code{param_config}. It is a structure that can contain fields named +## in @code{param_order}. For each such field, there may be subfields +## with the same names as the above vector-based settings, but +## containing a scalar value for the respective parameter. If +## @code{param_config} is specified, none of the above +## vector/matrix-based settings may be used. +## +## Additionally, named parameters are allowed to be non-scalar real +## arrays. In this case, their dimensions are given by the setting +## @code{param_dims}, a cell-array of dimension vectors, each containing +## at least two dimensions; if not given, dimensions are taken from the +## initial parameters, if these are given in a structure. Any +## vector-based settings or not structure-based linear constraints then +## must correspond to an order of parameters with all parameters +## reshaped to vectors and concatenated in the user-given order of +## parameter names. Structure-based settings or structure-based initial +## parameters must contain arrays with dimensions reshapable to those of +## the respective parameters. +## +## Description of backends (currently only one) +## +## "siman" +## +## A simulated annealing (stochastic) optimizer, changing all parameters +## at once in a single step, so being suitable for non-bound +## constraints. +## +## No gradient or hessian of the objective function is used. The +## settings @code{MaxIter}, @code{fract_prec}, @code{TolFun}, and +## @code{max_fract_change} are not honoured. +## +## Accepts the additional settings @code{T_init} (initial temperature, +## default 0.01), @code{T_min} (final temperature, default 1.0e-5), +## @code{mu_T} (factor of temperature decrease, default 1.005), +## @code{iters_fixed_T} (iterations within one temperature step, default +## 10), @code{max_rand_step} (column vector or structure-based +## configuration of maximum random steps for each parameter, default +## 0.005 * @var{pin}), @code{stoch_regain_constr} (if @code{true}, +## regain constraints after a random step, otherwise take new random +## value until constraints are met, default false), @code{trace_steps} +## (set field @code{trace} of @var{outp} with a matrix with a row for +## each step, first column iteration number, second column repeat number +## within iteration, third column value of objective function, rest +## columns parameter values, default false), and @code{siman_log} (set +## field @code{log} of @var{outp} with a matrix with a row for each +## iteration, first column temperature, second column value of objective +## function, rest columns numbers of tries with decrease, no decrease +## but accepted, and no decrease and rejected. +## +## Steps with increase @code{diff} of objective function are accepted if +## @code{rand (1) < exp (- diff / T)}, where @code{T} is the temperature +## of the current iteration. +## +## If regaining of constraints failed, optimization will be aborted and +## returned value of @var{cvg} will be @code{0}. Otherwise, @var{cvg} +## will be @code{1}. +## +## Interpretation of @code{Display}: if set to @code{"iter"}, an +## informational line is printed after each iteration. +## +## @end deftypefn + +## disabled PKG_ADD: __all_opts__ ("nonlin_min"); + +function [p, objf, cvg, outp] = nonlin_min (f, pin, settings) + + if (compare_versions (version (), "3.3.55", "<")) + ## optimset mechanism was fixed for option names with underscores + ## sometime in 3.3.54+, if I remember right + optimget = @ __optimget__; + endif + + if (compare_versions (version (), "3.2.4", "<=")) + ## For bug #31484; but Octave 3.6... shows bug #36288 due to this + ## workaround. Octave 3.7... seems to be all right. + __dfdp__ = @ __dfdp__; + endif + + ## some scalar defaults; some defaults are backend specific, so + ## lacking elements in respective constructed vectors will be set to + ## NA here in the frontend + diffp_default = .001; + stol_default = .0001; + cstep_default = 1e-20; + + if (nargin == 1 && ischar (f) && strcmp (f, "defaults")) + p = optimset ("param_config", [], \ + "param_order", [], \ + "param_dims", [], \ + "f_inequc_pstruct", false, \ + "f_equc_pstruct", false, \ + "objf_pstruct", false, \ + "df_inequc_pstruct", false, \ + "df_equc_pstruct", false, \ + "objf_grad_pstruct", false, \ + "objf_hessian_pstruct", false, \ + "lbound", [], \ + "ubound", [], \ + "objf_grad", [], \ + "objf_hessian", [], \ + "cpiv", @ cpiv_bard, \ + "max_fract_change", [], \ + "fract_prec", [], \ + "diffp", [], \ + "diff_onesided", [], \ + "complex_step_derivative_objf", false, \ + "complex_step_derivative_inequc", false, \ + "complex_step_derivative_equc", false, \ + "cstep", cstep_default, \ + "fixed", [], \ + "inequc", [], \ + "equc", [], \ + "TolFun", stol_default, \ + "MaxIter", [], \ + "Display", "off", \ + "Algorithm", [], \ # set reasonable default, once available + "T_init", .01, \ + "T_min", 1.0e-5, \ + "mu_T", 1.005, \ + "iters_fixed_T", 10, \ + "max_rand_step", [], \ + "stoch_regain_constr", false, \ + "trace_steps", false, \ + "siman_log", false, \ + "debug", false); + return; + endif + + assign = @ assign; # Is this faster in repeated calls? + + if (nargin != 3) + error ("incorrect number of arguments"); + endif + + if (ischar (f)) + f = str2func (f); + endif + + if (! (pin_struct = isstruct (pin))) + if (! isvector (pin) || columns (pin) > 1) + error ("initial parameters must be either a structure or a column vector"); + endif + endif + + #### processing of settings and consistency checks + + pconf = optimget (settings, "param_config"); + pord = optimget (settings, "param_order"); + pdims = optimget (settings, "param_dims"); + f_inequc_pstruct = optimget (settings, "f_inequc_pstruct", false); + f_equc_pstruct = optimget (settings, "f_equc_pstruct", false); + f_pstruct = optimget (settings, "objf_pstruct", false); + dfdp_pstruct = optimget (settings, "objf_grad_pstruct", f_pstruct); + hessian_pstruct = optimget (settings, "objf_hessian_pstruct", f_pstruct); + df_inequc_pstruct = optimget (settings, "df_inequc_pstruct", \ + f_inequc_pstruct); + df_equc_pstruct = optimget (settings, "df_equc_pstruct", \ + f_equc_pstruct); + lbound = optimget (settings, "lbound"); + ubound = optimget (settings, "ubound"); + dfdp = optimget (settings, "objf_grad"); + if (ischar (dfdp)) dfdp = str2func (dfdp); endif + hessian = optimget (settings, "objf_hessian"); + max_fract_change = optimget (settings, "max_fract_change"); + fract_prec = optimget (settings, "fract_prec"); + diffp = optimget (settings, "diffp"); + diff_onesided = optimget (settings, "diff_onesided"); + fixed = optimget (settings, "fixed"); + do_cstep = optimget (settings, "complex_step_derivative_objf", false); + cstep = optimget (settings, "cstep", cstep_default); + if (do_cstep && ! isempty (dfdp)) + error ("both 'complex_step_derivative_objf' and 'objf_grad' are set"); + endif + do_cstep_inequc = \ + optimget (settings, "complex_step_derivative_inequc", false); + do_cstep_equc = optimget (settings, "complex_step_derivative_equc", \ + false); + max_rand_step = optimget (settings, "max_rand_step"); + + any_vector_conf = ! (isempty (lbound) && isempty (ubound) && \ + isempty (max_fract_change) && \ + isempty (fract_prec) && isempty (diffp) && \ + isempty (diff_onesided) && isempty (fixed) && \ + isempty (max_rand_step)); + + ## collect constraints + [mc, vc, f_genicstr, df_gencstr, user_df_gencstr] = \ + __collect_constraints__ (optimget (settings, "inequc"), \ + do_cstep_inequc, "inequality constraints"); + [emc, evc, f_genecstr, df_genecstr, user_df_genecstr] = \ + __collect_constraints__ (optimget (settings, "equc"), \ + do_cstep_equc, "equality constraints"); + mc_struct = isstruct (mc); + emc_struct = isstruct (emc); + + ## correct "_pstruct" settings if functions are not supplied + if (isempty (dfdp)) dfdp_pstruct = false; endif + if (isempty (hessian)) hessian_pstruct = false; endif + if (isempty (f_genicstr)) f_inequc_pstruct = false; endif + if (isempty (f_genecstr)) f_equc_pstruct = false; endif + if (! user_df_gencstr) df_inequc_pstruct = false; endif + if (! user_df_genecstr) df_equc_pstruct = false; endif + + ## some settings require a parameter order + if (pin_struct || ! isempty (pconf) || f_inequc_pstruct || \ + f_equc_pstruct || f_pstruct || dfdp_pstruct || \ + hessian_pstruct || df_inequc_pstruct || df_equc_pstruct || \ + mc_struct || emc_struct) + if (isempty (pord)) + if (pin_struct) + if (any_vector_conf || \ + ! (f_pstruct && \ + (f_inequc_pstruct || isempty (f_genicstr)) && \ + (f_equc_pstruct || isempty (f_genecstr)) && \ + (dfdp_pstruct || isempty (dfdp)) && \ + (hessian_pstruct || isempty (hessian)) && \ + (df_inequc_pstruct || ! user_df_gencstr) && \ + (df_equc_pstruct || ! user_df_genecstr) && \ + (mc_struct || isempty (mc)) && \ + (emc_struct || isempty (emc)))) + error ("no parameter order specified and constructing a parameter order from the structure of initial parameters can not be done since not all configuration or given functions are structure based"); + else + pord = fieldnames (pin); + endif + else + error ("given settings require specification of parameter order or initial parameters in the form of a structure"); + endif + endif + pord = pord(:); + if (pin_struct && ! all (isfield (pin, pord))) + error ("some initial parameters lacking"); + endif + if ((nnames = rows (unique (pord))) < rows (pord)) + error ("duplicate parameter names in 'param_order'"); + endif + if (isempty (pdims)) + if (pin_struct) + pdims = cellfun \ + (@ size, fields2cell (pin, pord), "UniformOutput", false); + else + pdims = num2cell (ones (nnames, 2), 2); + endif + else + pdims = pdims(:); + if (pin_struct && \ + ! all (cellfun (@ (x, y) prod (size (x)) == prod (y), \ + struct2cell (pin), pdims))) + error ("given param_dims and dimensions of initial parameters do not match"); + endif + endif + if (nnames != rows (pdims)) + error ("lengths of 'param_order' and 'param_dims' not equal"); + endif + pnel = cellfun (@ prod, pdims); + ppartidx = pnel; + if (any (pnel > 1)) + pnonscalar = true; + cpnel = num2cell (pnel); + prepidx = cat (1, cellfun \ + (@ (x, n) x(ones (1, n), 1), \ + num2cell ((1:nnames).'), cpnel, \ + "UniformOutput", false){:}); + epord = pord(prepidx, 1); + psubidx = cat (1, cellfun \ + (@ (n) (1:n).', cpnel, \ + "UniformOutput", false){:}); + else + pnonscalar = false; # some less expensive interfaces later + prepidx = (1:nnames).'; + epord = pord; + psubidx = ones (nnames, 1); + endif + else + pord = []; # spares checks for given but not needed + endif + + if (pin_struct) + np = sum (pnel); + else + np = length (pin); + if (! isempty (pord) && np != sum (pnel)) + error ("number of initial parameters not correct"); + endif + endif + + plabels = num2cell (num2cell ((1:np).')); + if (! isempty (pord)) + plabels = cat (2, plabels, num2cell (epord), \ + num2cell (num2cell (psubidx))); + endif + + ## some useful vectors + zerosvec = zeros (np, 1); + NAvec = NA (np, 1); + Infvec = Inf (np, 1); + falsevec = false (np, 1); + sizevec = [np, 1]; + + ## collect parameter-related configuration + if (! isempty (pconf)) + ## use supplied configuration structure + + ## parameter-related configuration is either allowed by a structure + ## or by vectors + if (any_vector_conf) + error ("if param_config is given, its potential items must not \ + be configured in another way"); + endif + + ## supplement parameter names lacking in param_config + nidx = ! isfield (pconf, pord); + pconf = cell2fields ({struct()}(ones (1, sum (nidx))), \ + pord(nidx), 2, pconf); + + pconf = structcat (1, fields2cell (pconf, pord){:}); + + ## in the following, use reshape with explicit dimensions (instead + ## of x(:)) so that errors are thrown if a configuration item has + ## incorrect number of elements + + lbound = - Infvec; + if (isfield (pconf, "lbound")) + idx = ! fieldempty (pconf, "lbound"); + if (pnonscalar) + lbound (idx(prepidx), 1) = \ + cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).lbound}.', \ + cpnel(idx), "UniformOutput", false){:}); + else + lbound(idx, 1) = cat (1, pconf.lbound); + endif + endif + + ubound = Infvec; + if (isfield (pconf, "ubound")) + idx = ! fieldempty (pconf, "ubound"); + if (pnonscalar) + ubound (idx(prepidx), 1) = \ + cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).ubound}.', \ + cpnel(idx), "UniformOutput", false){:}); + else + ubound(idx, 1) = cat (1, pconf.ubound); + endif + endif + + max_fract_change = fract_prec = NAvec; + + if (isfield (pconf, "max_fract_change")) + idx = ! fieldempty (pconf, "max_fract_change"); + if (pnonscalar) + max_fract_change(idx(prepidx)) = \ + cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).max_fract_change}.', \ + cpnel(idx), \ + "UniformOutput", false){:}); + else + max_fract_change(idx) = [pconf.max_fract_change]; + endif + endif + + if (isfield (pconf, "fract_prec")) + idx = ! fieldempty (pconf, "fract_prec"); + if (pnonscalar) + fract_prec(idx(prepidx)) = \ + cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).fract_prec}.', cpnel(idx), \ + "UniformOutput", false){:}); + else + fract_prec(idx) = [pconf.fract_prec]; + endif + endif + + diffp = zerosvec; + diffp(:) = diffp_default; + if (isfield (pconf, "diffp")) + idx = ! fieldempty (pconf, "diffp"); + if (pnonscalar) + diffp(idx(prepidx)) = \ + cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).diffp}.', cpnel(idx), \ + "UniformOutput", false){:}); + else + diffp(idx) = [pconf.diffp]; + endif + endif + + diff_onesided = fixed = falsevec; + + if (isfield (pconf, "diff_onesided")) + idx = ! fieldempty (pconf, "diff_onesided"); + if (pnonscalar) + diff_onesided(idx(prepidx)) = \ + logical \ + (cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).diff_onesided}.', cpnel(idx), \ + "UniformOutput", false){:})); + else + diff_onesided(idx) = logical ([pconf.diff_onesided]); + endif + endif + + if (isfield (pconf, "fixed")) + idx = ! fieldempty (pconf, "fixed"); + if (pnonscalar) + fixed(idx(prepidx)) = \ + logical \ + (cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).fixed}.', cpnel(idx), \ + "UniformOutput", false){:})); + else + fixed(idx) = logical ([pconf.fixed]); + endif + endif + + max_rand_step = NAvec; + + if (isfield (pconf, "max_rand_step")) + idx = ! fieldempty (pconf, "max_rand_step"); + if (pnonscalar) + max_rand_step(idx(prepidx)) = \ + logical \ + (cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + {pconf(idx).max_rand_step}.', + cpnel(idx), \ + "UniformOutput", false){:})); + else + max_rand_step(idx) = logical ([pconf.max_rand_step]); + endif + endif + + else + ## use supplied configuration vectors + + if (isempty (lbound)) + lbound = - Infvec; + elseif (any (size (lbound) != sizevec)) + error ("bounds: wrong dimensions"); + endif + + if (isempty (ubound)) + ubound = Infvec; + elseif (any (size (ubound) != sizevec)) + error ("bounds: wrong dimensions"); + endif + + if (isempty (max_fract_change)) + max_fract_change = NAvec; + elseif (any (size (max_fract_change) != sizevec)) + error ("max_fract_change: wrong dimensions"); + endif + + if (isempty (fract_prec)) + fract_prec = NAvec; + elseif (any (size (fract_prec) != sizevec)) + error ("fract_prec: wrong dimensions"); + endif + + if (isempty (diffp)) + diffp = zerosvec; + diffp(:) = diffp_default; + else + if (any (size (diffp) != sizevec)) + error ("diffp: wrong dimensions"); + endif + diffp(isna (diffp)) = diffp_default; + endif + + if (isempty (diff_onesided)) + diff_onesided = falsevec; + else + if (any (size (diff_onesided) != sizevec)) + error ("diff_onesided: wrong dimensions") + endif + diff_onesided(isna (diff_onesided)) = false; + diff_onesided = logical (diff_onesided); + endif + + if (isempty (fixed)) + fixed = falsevec; + else + if (any (size (fixed) != sizevec)) + error ("fixed: wrong dimensions"); + endif + fixed(isna (fixed)) = false; + fixed = logical (fixed); + endif + + if (isempty (max_rand_step)) + max_rand_step = NAvec; + elseif (any (size (max_rand_step) != sizevec)) + error ("max_rand_step: wrong dimensions"); + endif + + endif + + ## guaranty all (lbound <= ubound) + if (any (lbound > ubound)) + error ("some lower bounds larger than upper bounds"); + endif + + #### consider whether initial parameters and functions are based on + #### parameter structures or parameter vectors; wrappers for call to + #### default function for jacobians + + ## initial parameters + if (pin_struct) + if (pnonscalar) + pin = cat (1, cellfun (@ (x, n) reshape (x, n, 1), \ + fields2cell (pin, pord), cpnel, \ + "UniformOutput", false){:}); + else + pin = cat (1, fields2cell (pin, pord){:}); + endif + endif + + ## objective function + if (f_pstruct) + if (pnonscalar) + f = @ (p, varargin) \ + f (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), \ + pord, 1), varargin{:}); + else + f = @ (p, varargin) \ + f (cell2struct (num2cell (p), pord, 1), varargin{:}); + endif + endif + f_pin = f (pin); + + ## gradient of objective function + if (isempty (dfdp)) + if (do_cstep) + dfdp = @ (p, hook) jacobs (p, f, hook); + else + dfdp = @ (p, hook) __dfdp__ (p, f, hook); + endif + endif + if (dfdp_pstruct) + if (pnonscalar) + dfdp = @ (p, hook) \ + cat (2, \ + fields2cell \ + (dfdp (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), \ + pord, 1), hook), \ + pord){:}); + else + dfdp = @ (p, hook) \ + cat (2, \ + fields2cell \ + (dfdp (cell2struct (num2cell (p), pord, 1), hook), \ + pord){:}); + endif + endif + + ## hessian of objective function + if (hessian_pstruct) + if (pnonscalar) + hessian = @ (p) \ + hessian_struct2mat \ + (hessian (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), \ + pord, 1)), pord); + else + hessian = @ (p) \ + hessian_struct2mat \ + (hessian (cell2struct (num2cell (p), pord, 1)), pord); + endif + endif + + ## function for general inequality constraints + if (f_inequc_pstruct) + if (pnonscalar) + f_genicstr = @ (p, varargin) \ + f_genicstr (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), \ + pord, 1), varargin{:}); + else + f_genicstr = @ (p, varargin) \ + f_genicstr \ + (cell2struct (num2cell (p), pord, 1), varargin{:}); + endif + endif + + ## note this stage + possibly_pstruct_f_genicstr = f_genicstr; + + ## jacobian of general inequality constraints + if (df_inequc_pstruct) + if (pnonscalar) + df_gencstr = @ (p, func, idx, hook) \ + cat (2, \ + fields2cell \ + (df_gencstr \ + (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), pord, 1), \ + func, idx, hook), \ + pord){:}); + else + df_gencstr = @ (p, func, idx, hook) \ + cat (2, \ + fields2cell \ + (df_gencstr (cell2struct (num2cell (p), pord, 1), \ + func, idx, hook), \ + pord){:}); + endif + endif + + ## function for general equality constraints + if (f_equc_pstruct) + if (pnonscalar) + f_genecstr = @ (p, varargin) \ + f_genecstr (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), \ + pord, 1), varargin{:}); + else + f_genecstr = @ (p, varargin) \ + f_genecstr \ + (cell2struct (num2cell (p), pord, 1), varargin{:}); + endif + endif + + ## note this stage + possibly_pstruct_f_genecstr = f_genecstr; + + ## jacobian of general equality constraints + if (df_equc_pstruct) + if (pnonscalar) + df_genecstr = @ (p, func, idx, hook) \ + cat (2, \ + fields2cell \ + (df_genecstr \ + (cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), pord, 1), \ + func, idx, hook), \ + pord){:}); + else + df_genecstr = @ (p, func, idx, hook) \ + cat (2, \ + fields2cell \ + (df_genecstr (cell2struct (num2cell (p), pord, 1), \ + func, idx, hook), \ + pord){:}); + endif + endif + + ## linear inequality constraints + if (mc_struct) + idx = isfield (mc, pord); + if (rows (fieldnames (mc)) > sum (idx)) + error ("unknown fields in structure of linear inequality constraints"); + endif + smc = mc; + mc = zeros (np, rows (vc)); + mc(idx(prepidx), :) = cat (1, fields2cell (smc, pord(idx)){:}); + endif + + ## linear equality constraints + if (emc_struct) + idx = isfield (emc, pord); + if (rows (fieldnames (emc)) > sum (idx)) + error ("unknown fields in structure of linear equality constraints"); + endif + semc = emc; + emc = zeros (np, rows (evc)); + emc(idx(prepidx), :) = cat (1, fields2cell (semc, pord(idx)){:}); + endif + + ## parameter-related configuration for jacobian functions + if (dfdp_pstruct || df_inequc_pstruct || df_equc_pstruct) + if(pnonscalar) + s_diffp = cell2struct \ + (cellfun (@ reshape, mat2cell (diffp, ppartidx), \ + pdims, "UniformOutput", false), pord, 1); + s_diff_onesided = cell2struct \ + (cellfun (@ reshape, mat2cell (diff_onesided, ppartidx), \ + pdims, "UniformOutput", false), pord, 1); + s_orig_lbound = cell2struct \ + (cellfun (@ reshape, mat2cell (lbound, ppartidx), \ + pdims, "UniformOutput", false), pord, 1); + s_orig_ubound = cell2struct \ + (cellfun (@ reshape, mat2cell (ubound, ppartidx), \ + pdims, "UniformOutput", false), pord, 1); + s_plabels = cell2struct \ + (num2cell \ + (cat (2, cellfun \ + (@ (x) cellfun \ + (@ reshape, mat2cell (cat (1, x{:}), ppartidx), \ + pdims, "UniformOutput", false), \ + num2cell (plabels, 1), "UniformOutput", false){:}), \ + 2), \ + pord, 1); + s_orig_fixed = cell2struct \ + (cellfun (@ reshape, mat2cell (fixed, ppartidx), \ + pdims, "UniformOutput", false), pord, 1); + else + s_diffp = cell2struct (num2cell (diffp), pord, 1); + s_diff_onesided = cell2struct (num2cell (diff_onesided), pord, 1); + s_orig_lbound = cell2struct (num2cell (lbound), pord, 1); + s_orig_ubound = cell2struct (num2cell (ubound), pord, 1); + s_plabels = cell2struct (num2cell (plabels, 2), pord, 1); + s_orig_fixed = cell2struct (num2cell (fixed), pord, 1); + endif + endif + + #### some further values and checks + + if (any (fixed & (pin < lbound | pin > ubound))) + warning ("some fixed parameters outside bounds"); + endif + + ## dimensions of linear constraints + if (isempty (mc)) + mc = zeros (np, 0); + vc = zeros (0, 1); + endif + if (isempty (emc)) + emc = zeros (np, 0); + evc = zeros (0, 1); + endif + [rm, cm] = size (mc); + [rv, cv] = size (vc); + if (rm != np || cm != rv || cv != 1) + error ("linear inequality constraints: wrong dimensions"); + endif + [erm, ecm] = size (emc); + [erv, ecv] = size (evc); + if (erm != np || ecm != erv || ecv != 1) + error ("linear equality constraints: wrong dimensions"); + endif + + ## note initial values of linear constraits + pin_cstr.inequ.lin_except_bounds = mc.' * pin + vc; + pin_cstr.equ.lin = emc.' * pin + evc; + + ## note number and initial values of general constraints + if (isempty (f_genicstr)) + pin_cstr.inequ.gen = []; + n_genicstr = 0; + else + n_genicstr = length (pin_cstr.inequ.gen = f_genicstr (pin)); + endif + if (isempty (f_genecstr)) + pin_cstr.equ.gen = []; + n_genecstr = 0; + else + n_genecstr = length (pin_cstr.equ.gen = f_genecstr (pin)); + endif + + #### collect remaining settings + hook.TolFun = optimget (settings, "TolFun", stol_default); + hook.MaxIter = optimget (settings, "MaxIter"); + if (ischar (hook.cpiv = optimget (settings, "cpiv", @ cpiv_bard))) + hook.cpiv = str2func (hook.cpiv); + endif + hook.Display = optimget (settings, "Display", "off"); + hook.testing = optimget (settings, "debug", false); + hook.new_s = optimget (settings, "lm_svd_feasible_alt_s", false); + hook.siman.T_init = optimget (settings, "T_init", .01); + hook.siman.T_min = optimget (settings, "T_min", 1.0e-5); + hook.siman.mu_T = optimget (settings, "mu_T", 1.005); + hook.siman.iters_fixed_T = optimget (settings, "iters_fixed_T", 10); + hook.stoch_regain_constr = \ + optimget (settings, "stoch_regain_constr", false); + hook.trace_steps = \ + optimget (settings, "trace_steps", false); + hook.siman_log = \ + optimget (settings, "siman_log", false); + backend = optimget (settings, "Algorithm"); + if (isempty (backend)) + error ("At the moment, there is no default algorithm, it must be specified."); + endif + backend = map_matlab_algorithm_names (backend); + backend = map_backend (backend); + + #### handle fixing of parameters + orig_lbound = lbound; + orig_ubound = ubound; + orig_fixed = fixed; + if (all (fixed)) + error ("no free parameters"); + endif + + nonfixed = ! fixed; + if (any (fixed)) + ## backend (returned values and initial parameters) + backend = @ (f, pin, hook) \ + backend_wrapper (backend, fixed, f, pin, hook); + + ## objective function + f = @ (p, varargin) f (assign (pin, nonfixed, p), varargin{:}); + + ## gradient of objective function + dfdp = @ (p, hook) \ + dfdp (assign (pin, nonfixed, p), hook)(nonfixed); + + ## hessian of objective function + if (! isempty (hessian)) + hessian = @ (p) \ + hessian (assign (pin, nonfixed, p))(nonfixed, nonfixed); + endif + + ## function for general inequality constraints + f_genicstr = @ (p, varargin) \ + f_genicstr (assign (pin, nonfixed, p), varargin{:}); + + ## jacobian of general inequality constraints + df_gencstr = @ (p, func, idx, hook) \ + df_gencstr (assign (pin, nonfixed, p), func, idx, hook) \ + (:, nonfixed); + + ## function for general equality constraints + f_genecstr = @ (p, varargin) \ + f_genecstr (assign (pin, nonfixed, p), varargin{:}); + + ## jacobian of general equality constraints + df_genecstr = @ (p, func, idx, hook) \ + df_genecstr (assign (pin, nonfixed, p), func, idx, hook) \ + (:, nonfixed); + + ## linear inequality constraints + vc += mc(fixed, :).' * (tp = pin(fixed)); + mc = mc(nonfixed, :); + + ## linear equality constraints + evc += emc(fixed, :).' * tp; + emc = emc(nonfixed, :); + + ## _last_ of all, vectors of parameter-related configuration, + ## including "fixed" itself + lbound = lbound(nonfixed, :); + ubound = ubound(nonfixed, :); + max_fract_change = max_fract_change(nonfixed); + fract_prec = fract_prec(nonfixed); + max_rand_step = max_rand_step(nonfixed); + fixed = fixed(nonfixed); + endif + + #### supplement constants to jacobian functions + + ## gradient of objective function + if (dfdp_pstruct) + dfdp = @ (p, hook) \ + dfdp (p, cell2fields \ + ({s_diffp, s_diff_onesided, s_orig_lbound, \ + s_orig_ubound, s_plabels, \ + cell2fields(num2cell(hook.fixed), pord(nonfixed), \ + 1, s_orig_fixed), cstep}, \ + {"diffp", "diff_onesided", "lbound", "ubound", \ + "plabels", "fixed", "h"}, \ + 2, hook)); + else + dfdp = @ (p, hook) \ + dfdp (p, cell2fields \ + ({diffp, diff_onesided, orig_lbound, orig_ubound, \ + plabels, assign(orig_fixed, nonfixed, hook.fixed), \ + cstep}, \ + {"diffp", "diff_onesided", "lbound", "ubound", \ + "plabels", "fixed", "h"}, \ + 2, hook)); + endif + + ## jacobian of general inequality constraints + if (df_inequc_pstruct) + df_gencstr = @ (p, func, idx, hook) \ + df_gencstr (p, func, idx, cell2fields \ + ({s_diffp, s_diff_onesided, s_orig_lbound, \ + s_orig_ubound, s_plabels, \ + cell2fields(num2cell(hook.fixed), pord(nonfixed), \ + 1, s_orig_fixed), cstep}, \ + {"diffp", "diff_onesided", "lbound", "ubound", \ + "plabels", "fixed", "h"}, \ + 2, hook)); + else + df_gencstr = @ (p, func, idx, hook) \ + df_gencstr (p, func, idx, cell2fields \ + ({diffp, diff_onesided, orig_lbound, \ + orig_ubound, plabels, \ + assign(orig_fixed, nonfixed, hook.fixed), cstep}, \ + {"diffp", "diff_onesided", "lbound", "ubound", \ + "plabels", "fixed", "h"}, \ + 2, hook)); + endif + + ## jacobian of general equality constraints + if (df_equc_pstruct) + df_genecstr = @ (p, func, idx, hook) \ + df_genecstr (p, func, idx, cell2fields \ + ({s_diffp, s_diff_onesided, s_orig_lbound, \ + s_orig_ubound, s_plabels, \ + cell2fields(num2cell(hook.fixed), pord(nonfixed), \ + 1, s_orig_fixed), cstep}, \ + {"diffp", "diff_onesided", "lbound", "ubound", \ + "plabels", "fixed", "h"}, \ + 2, hook)); + else + df_genecstr = @ (p, func, idx, hook) \ + df_genecstr (p, func, idx, cell2fields \ + ({diffp, diff_onesided, orig_lbound, \ + orig_ubound, plabels, \ + assign(orig_fixed, nonfixed, hook.fixed), cstep}, \ + {"diffp", "diff_onesided", "lbound", "ubound", \ + "plabels", "fixed", "h"}, \ + 2, hook)); + endif + + #### interfaces to constraints + + ## include bounds into linear inequality constraints + tp = eye (sum (nonfixed)); + lidx = lbound != - Inf; + uidx = ubound != Inf; + mc = cat (2, tp(:, lidx), - tp(:, uidx), mc); + vc = cat (1, - lbound(lidx, 1), ubound(uidx, 1), vc); + + ## concatenate linear inequality and equality constraints + mc = cat (2, mc, emc); + vc = cat (1, vc, evc); + n_lincstr = rows (vc); + + ## concatenate general inequality and equality constraints + if (n_genecstr > 0) + if (n_genicstr > 0) + nidxi = 1 : n_genicstr; + nidxe = n_genicstr + 1 : n_genicstr + n_genecstr; + f_gencstr = @ (p, idx, varargin) \ + cat (1, \ + f_genicstr (p, idx(nidxi), varargin{:}), \ + f_genecstr (p, idx(nidxe), varargin{:})); + df_gencstr = @ (p, idx, hook) \ + cat (1, \ + df_gencstr (p, @ (p, varargin) \ + possibly_pstruct_f_genicstr \ + (p, idx(nidxi), varargin{:}), \ + idx(nidxi), \ + setfield (hook, "f", \ + hook.f(nidxi(idx(nidxi))))), \ + df_genecstr (p, @ (p, varargin) \ + possibly_pstruct_f_genecstr \ + (p, idx(nidxe), varargin{:}), \ + idx(nidxe), \ + setfield (hook, "f", \ + hook.f(nidxe(idx(nidxe)))))); + else + f_gencstr = f_genecstr; + df_gencstr = @ (p, idx, hook) \ + df_genecstr (p, \ + @ (p, varargin) \ + possibly_pstruct_f_genecstr \ + (p, idx, varargin{:}), \ + idx, \ + setfield (hook, "f", hook.f(idx))); + endif + else + f_gencstr = f_genicstr; + df_gencstr = @ (p, idx, hook) \ + df_gencstr (p, \ + @ (p, varargin) \ + possibly_pstruct_f_genicstr (p, idx, varargin{:}), \ + idx, \ + setfield (hook, "f", hook.f(idx))); + endif + n_gencstr = n_genicstr + n_genecstr; + + ## concatenate linear and general constraints, defining the final + ## function interfaces + if (n_gencstr > 0) + nidxl = 1:n_lincstr; + nidxh = n_lincstr + 1 : n_lincstr + n_gencstr; + f_cstr = @ (p, idx, varargin) \ + cat (1, \ + mc(:, idx(nidxl)).' * p + vc(idx(nidxl), 1), \ + f_gencstr (p, idx(nidxh), varargin{:})); + df_cstr = @ (p, idx, hook) \ + cat (1, \ + mc(:, idx(nidxl)).', \ + df_gencstr (p, idx(nidxh), \ + setfield (hook, "f", \ + hook.f(nidxh)))); + else + f_cstr = @ (p, idx, varargin) mc(:, idx).' * p + vc(idx, 1); + df_cstr = @ (p, idx, hook) mc(:, idx).'; + endif + + ## define eq_idx (logical index of equality constraints within all + ## concatenated constraints + eq_idx = false (n_lincstr + n_gencstr, 1); + eq_idx(n_lincstr + 1 - rows (evc) : n_lincstr) = true; + n_cstr = n_lincstr + n_gencstr; + eq_idx(n_cstr + 1 - n_genecstr : n_cstr) = true; + + #### prepare interface hook + + ## passed constraints + hook.mc = mc; + hook.vc = vc; + hook.f_cstr = f_cstr; + hook.df_cstr = df_cstr; + hook.n_gencstr = n_gencstr; + hook.eq_idx = eq_idx; + hook.lbound = lbound; + hook.ubound = ubound; + + ## passed values of constraints for initial parameters + hook.pin_cstr = pin_cstr; + + ## passed function for gradient of objective function + hook.dfdp = dfdp; + + ## passed function for hessian of objective function + hook.hessian = hessian; + + ## passed function for complementary pivoting + ## hook.cpiv = cpiv; # set before + + ## passed value of residual function for initial parameters + hook.f_pin = f_pin; + + ## passed options + hook.max_fract_change = max_fract_change; + hook.fract_prec = fract_prec; + ## hook.TolFun = ; # set before + ## hook.MaxIter = ; # set before + hook.fixed = fixed; + hook.max_rand_step = max_rand_step; + + #### call backend + + [p, objf, cvg, outp] = backend (f, pin, hook); + + if (pin_struct) + if (pnonscalar) + p = cell2struct \ + (cellfun (@ reshape, mat2cell (p, ppartidx), \ + pdims, "UniformOutput", false), \ + pord, 1); + else + p = cell2struct (num2cell (p), pord, 1); + endif + endif + +endfunction + +function backend = map_matlab_algorithm_names (backend) + + ## nothing done here at the moment + +endfunction + +function backend = map_backend (backend) + + switch (backend) + case "bfgs_infeasible" + backend = "__sqp__"; + case "sqp" + backend = "__sqp__"; + case "bfgs_feasible" + backend = "__bfgs_feasible__"; + case "siman" + backend = "__siman__"; + otherwise + error ("no backend implemented for algorithm '%s'", backend); + endswitch + + backend = str2func (backend); + +endfunction + +function [p, resid, cvg, outp] = backend_wrapper (backend, fixed, f, p, hook) + + [tp, resid, cvg, outp] = backend (f, p(! fixed), hook); + + p(! fixed) = tp; + +endfunction + +function lval = assign (lval, lidx, rval) + + lval(lidx) = rval; + +endfunction + +function m = hessian_struct2mat (s, pord) + + m = cell2mat (fields2cell \ + (structcat (1, NA, fields2cell (s, pord){:}), pord)); + + idx = isna (m); + + m(idx) = (m.')(idx); + +endfunction + +function ret = __optimget__ (s, name, default) + + if (isfield (s, name)) + ret = s.(name); + elseif (nargin > 2) + ret = default; + else + ret = []; + endif + +endfunction + +%!demo +%! ## Example for simulated annealing, two parameters, "trace_steps" +%! ## is true; +%! t_init = .2; +%! t_min = .002; +%! mu_t = 1.002; +%! iters_fixed_t = 10; +%! init_p = [2; 2]; +%! max_rand_step = [.2; .2]; +%! [p, objf, cvg, outp] = nonlin_min (@ (p) (p(1)/10)^2 + (p(2)/10)^2 + .1 * (-cos(4*p(1)) - cos(4*p(2))), init_p, optimset ("algorithm", "siman", "max_rand_step", max_rand_step, "t_init", t_init, "T_min", t_min, "mu_t", mu_t, "iters_fixed_T", iters_fixed_t, "trace_steps", true)); +%! p +%! objf +%! x = (outp.trace(:, 1) - 1) * iters_fixed_t + outp.trace(:, 2); +%! x(1) = 0; +%! plot (x, cat (2, outp.trace(:, 3:end), t_init ./ (mu_t .^ outp.trace(:, 1)))) +%! legend ({"objective function value", "p(1)", "p(2)", "Temperature"}) +%! xlabel ("subiteration") Added: trunk/octave-forge/main/optim/inst/private/__s2mat__.m =================================================================== --- trunk/octave-forge/main/optim/inst/private/__s2mat__.m (rev 0) +++ trunk/octave-forge/main/optim/inst/private/__s2mat__.m 2012-05-24 06:03:47 UTC (rev 10512) @@ -0,0 +1,50 @@ +## Copyright (C) 2010 Olaf Till <ola...@un...> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; If not, see <http://www.gnu.org/licenses/>. + +## __s2mat__ (s, ord) +## +## Returns a matrix of second derivatives with respect to some +## parameters from the structure-based representation of such a matrix +## in s, using the order of parameter names ord. s has to contain all +## fields named in ord. Each field has some subfields named in ord so +## that each second derivative is represented at least in one of its two +## possible orders. If it is represented differently in both orders, no +## error is returned, but both entries might get into the final matrix +## at symmetric positions. +## +## Should be included as a subfunction of a wrapper for optimization +## functions possibly needing a Hessian. + +function ret = __s2mat__ (s, ord) + + if (any (size (s) != [1, 1])) + error ("structure must be scalar"); + endif + + if (! (iscell (ord) && isvector (ord))) + error ("ord must be a one-dimensional cell-array"); + endif + + c = fields2cell (structcat (1, fields2cell (s, ord){:}), ord); + + neidx = ! (eidx = cellfun ("isempty", c)); + + ret = zeros (length (ord)); + + ret(neidx) = [c{neidx}]; # faster than [c{:}] ? + + ret(eidx) = ret.'(eidx); + +endfunction \ No newline at end of file Added: trunk/octave-forge/main/optim/inst/private/__siman__.m =================================================================== --- trunk/octave-forge/main/optim/inst/private/__siman__.m (rev 0) +++ trunk/octave-forge/main/optim/inst/private/__siman__.m 2012-05-24 06:03:47 UTC (rev 10512) @@ -0,0 +1,249 @@ +## Copyright (C) 2012 Olaf Till <i7...@t-...> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; If not, see <http://www.gnu.org/licenses/>. + +## The simulated annealing code is translated and adapted from siman.c, +## written by Mark Galassi, of the GNU Scientific Library. + +function [p_res, objf, cvg, outp] = __siman__ (f, pin, hook) + + ## needed for some anonymous functions + if (exist ("ifelse") != 5) + ifelse = @ scalar_ifelse; + endif + + ## passed constraints + mc = hook.mc; # matrix of linear constraints + vc = hook.vc; # vector of linear constraints + f_cstr = hook.f_cstr; # function of all constraints + df_cstr = hook.df_cstr; # function of derivatives of all constraints + n_gencstr = hook.n_gencstr; # number of non-linear constraints + eq_idx = hook.eq_idx; # logical index of equality constraints in all + # constraints + lbound = hook.lbound; # bounds, subset of linear inequality + ubound = hook.ubound; # constraints in mc and vc + + ## passed values of constraints for initial parameters + pin_cstr = hook.pin_cstr; + + ## passed return value of f for initial parameters + f_pin = hook.f_pin; + + ## passed function for complementary pivoting, currently sqp is used + ## instead + ## + ## cpiv = hook.cpiv; + + ## passed simulated annealing parameters + T_init = hook.siman.T_init; + T_min = hook.siman.T_min; + mu_T = hook.siman.mu_T; + iters_fixed_T = hook.siman.iters_fixed_T; + max_rand_step = hook.max_rand_step; + + ## passed options + fixed = hook.fixed; + verbose = strcmp (hook.Display, "iter"); + regain_constraints = hook.stoch_regain_constr; + if ((siman_log = hook.siman_log)) + log = zeros (0, 5); + endif + if ((trace_steps = hook.trace_steps)) + trace = [0, 0, f_pin, pin.']; + endif + + ## some useful variables derived from passed variables + n = length (pin); + sqp_hessian = 2 * eye (n); + n_lconstr = length (vc); + n_bounds = sum (lbound != -Inf) + sum (ubound != Inf); + bidx = false (n_lconstr + n_gencstr, 1); + bidx(1 : n_bounds) = true; + ac_idx = true (n_lconstr + n_gencstr, 1); + ineq_idx = ! eq_idx; + leq_idx = eq_idx(1:n_lconstr); + lineq_idx = ineq_idx(1:n_lconstr); + lfalse_idx = false(n_lconstr, 1); + + nz = 20 * eps; # This is arbitrary. Accuracy of equality constraints. + + ## backend-specific checking of options and constraints + ## + ## equality constraints can not be met by chance + if ((any (eq_idx) || any (lbound == ubound)) && ! regain_constraints) + error ("If 'stoch_regain_constr' is not set, equality constraints or identical lower and upper bounds are not allowed by simulated annealing backend."); + endif + ## + if (any (pin < lbound | pin > ubound) || + any (pin_cstr.inequ.lin_except_bounds < 0) || + any (pin_cstr.inequ.gen < 0) || + any (abs (pin_cstr.equ.lin)) >= nz || + any (abs (pin_cstr.equ.gen)) >= nz) + error ("Initial parameters violate constraints."); + endif + ## + if (all (fixed)) + error ("no free parameters"); + endif + ## + idx = isna (max_rand_step); + max_rand_step(idx) = 0.005 * pin(idx); + + ## fill constant fields of hook for derivative-functions; some fields + ## may be backend-specific + dfdp_hook.fixed = fixed; # this may be handled by the frontend, but + # the backend still may add to it + + ## set up for iterations + sizep = size (pin); + p = best_p = pin; + E = best_E = f_pin; + T = T_init; + n_evals = 1; # one has been done by frontend + n_iter = 0; + done = false; + + cvg = 1; + + ## simulated annealing + while (! done) + + n_iter++; + + n_accepts = n_rejects = n_eless = 0; + + for id = 1 : iters_fixed_T + + new_p = p + max_rand_step .* (2 * rand (sizep) - 1); + + ## apply constraints + if (regain_constraints) + evidx = (abs ((ac = f_cstr (new_p, ac_idx))(eq_idx)) >= nz); + ividx = (ac(ineq_idx) < 0); + if (any (evidx) || any (ividx)) + nv = sum (evidx) + sum (ividx); + if (sum (lbvidx = (new_p < lbound)) + \ + sum (ubvidx = (new_p > ubound)) == \ + nv) + ## special case only bounds violated, set back to bound + new_p(lbvidx) = lbound(lbvidx); + new_p(ubvidx) = ubound(ubvidx); + elseif (nv == 1 && \ + sum (t_eq = (abs (ac(leq_idx)) >= nz)) + \ + sum (t_inequ = (ac(lineq_idx) < 0)) == 1) + ## special case only one linear constraint violated, set + ## back perpendicularly to constraint + tidx = lfalse_idx; + tidx(leq_idx) = t_eq; + tidx(lineq_idx) = t_inequ; + c = mc(:, tidx); + d = ac(tidx); + new_p -= c * (d / (c.' * c)); + else + ## other cases, set back keeping the distance to original + ## 'new_p' minimal, using quadratic programming, or + ## sequential quadratic programming for nonlinear + ## constraints + [new_p, discarded, sqp_info] = \ + sqp (new_p, \ + {@(x)sumsq(x-new_p), \ + @(x)2*(x-new_p), \ + @(x)sqp_hessian}, \ + {@(x)f_cstr(x,eq_idx), \ + @(x)df_cstr(x,eq_idx, \ + setfield(hook,"f", \ + f_cstr(x,ac_idx)))}, \ + {@(x)f_cstr(x,ineq_idx), \ + @(x)df_cstr(x,ineq_idx, \ + setfield(hook,"f", \ + f_cstr(x,ac_idx)))}); + if (sqp_info != 101) + cvg = 0; + done = true; + break; + endif + endif + endif + else + n_retry_constr = 0; + while (any (abs ((ac = f_cstr (new_p, ac_idx))(eq_idx)) >= nz) \ + || any (ac(ineq_idx) < 0)) + new_p = p + max_rand_step .* (2 * rand (sizep) - 1); + n_retry_constr++; + endwhile + if (verbose && n_retry_constr) + printf ("%i additional tries of random step to meet constraints\n", + n_retry_constr); + endif + endif + + new_E = f (new_p); + n_evals++; + + if (new_E < best_E) + best_p = new_p; + best_E = new_E; + endif + if (new_E < E) + ## take a step + p = new_p; + E = new_E; + n_eless++; + if (trace_steps) + trace(end + 1, :) = [n_iter, id, E, p.']; + endif + elseif (rand (1) < exp (- (new_E - E) / T)) + ## take a step + p = new_p; + E = new_E; + n_accepts++; + if (trace_steps) + trace(end + 1, :) = [n_iter, id, E, p.']; + endif + else + n_rejects++; + endif + + endfor # iters_fixed_T + + if (verbose) + printf ("temperature no. %i: %e, energy %e,\n", n_iter, T, E); + printf ("tries with energy less / not less but accepted / rejected:\n"); + printf ("%i / %i / %i\n... [truncated message content] |
From: <i7...@us...> - 2012-05-24 05:54:42
|
Revision: 10511 http://octave.svn.sourceforge.net/octave/?rev=10511&view=rev Author: i7tiol Date: 2012-05-24 05:54:36 +0000 (Thu, 24 May 2012) Log Message: ----------- Put Carlos lines for BLAS into Makefile and make it use $(MKOCTFILE) consistently. Modified Paths: -------------- trunk/octave-forge/main/optim/src/Makefile Modified: trunk/octave-forge/main/optim/src/Makefile =================================================================== --- trunk/octave-forge/main/optim/src/Makefile 2012-05-24 05:50:43 UTC (rev 10510) +++ trunk/octave-forge/main/optim/src/Makefile 2012-05-24 05:54:36 UTC (rev 10511) @@ -1,13 +1,14 @@ -ifndef MKOCTFILE -MKOCTFILE := mkoctfile -endif +MKOCTFILE ?= mkoctfile -LAPACK_LIBS := $(shell mkoctfile -p LAPACK_LIBS) +LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS) +# reported necessary for Apple's VecLib framework by Carlo de Falco +# <car...@gm...> +BLAS_LIBS := $(shell $(MKOCTFILE) -p BLAS_LIBS) all: __bfgsmin.oct numgradient.oct numhessian.oct samin.oct __disna_optim__.oct %.oct: %.cc - $(MKOCTFILE) -s $< ${LAPACK_LIBS} + $(MKOCTFILE) -s $< $(LAPACK_LIBS) $(BLAS_LIBS) clean: - -rm *.o core octave-core *.oct *~ + $(RM) *.o core octave-core *.oct *~ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <i7...@us...> - 2012-05-24 05:50:50
|
Revision: 10510 http://octave.svn.sourceforge.net/octave/?rev=10510&view=rev Author: i7tiol Date: 2012-05-24 05:50:43 +0000 (Thu, 24 May 2012) Log Message: ----------- Untabify and some cleanup. Modified Paths: -------------- trunk/octave-forge/main/optim/DESCRIPTION trunk/octave-forge/main/optim/PKG_ADD trunk/octave-forge/main/optim/doc/development/interfaces.txt trunk/octave-forge/main/optim/inst/cpiv_bard.m trunk/octave-forge/main/optim/inst/dcdp.m trunk/octave-forge/main/optim/inst/dfdp.m trunk/octave-forge/main/optim/inst/dfpdp.m trunk/octave-forge/main/optim/inst/dfxpdp.m trunk/octave-forge/main/optim/inst/gjp.m trunk/octave-forge/main/optim/inst/leasqr.m trunk/octave-forge/main/optim/inst/nonlin_residmin.m trunk/octave-forge/main/optim/inst/optim_problems.m trunk/octave-forge/main/optim/inst/private/__dfdp__.m trunk/octave-forge/main/optim/inst/private/__lm_svd__.m trunk/octave-forge/main/optim/inst/private/__nonlin_residmin__.m Modified: trunk/octave-forge/main/optim/DESCRIPTION =================================================================== --- trunk/octave-forge/main/optim/DESCRIPTION 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/DESCRIPTION 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,11 +1,11 @@ Name: Optim Version: 1.1.0 -Date: 2012-XX-XX +Date: 2012-05-24 Author: various authors Maintainer: Octave-Forge community <oct...@li...> Title: Optimization. Description: Non-linear optimization toolkit. -Depends: octave (>= 2.9.7), miscellaneous (>= 1.0.10), struct (>= 1.0.9) +Depends: octave (>= 2.9.7), miscellaneous (>= 1.0.10), struct (>= 1.0.10) Autoload: no License: GFDL, GPLv3+, modified BSD, public domain Url: http://octave.sf.net Modified: trunk/octave-forge/main/optim/PKG_ADD =================================================================== --- trunk/octave-forge/main/optim/PKG_ADD 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/PKG_ADD 2012-05-24 05:50:43 UTC (rev 10510) @@ -3,4 +3,5 @@ ## sometime in 3.3.54+, if I remember right __all_opts__ ("nonlin_residmin"); __all_opts__ ("residmin_stat"); + ## __all_opts__ ("nonlin_min"); endif Modified: trunk/octave-forge/main/optim/doc/development/interfaces.txt =================================================================== --- trunk/octave-forge/main/optim/doc/development/interfaces.txt 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/doc/development/interfaces.txt 2012-05-24 05:50:43 UTC (rev 10510) @@ -80,6 +80,9 @@ 'vc' (required): vector (possibly empty) of the function "mc.' * parameters + vc" of linear constraints, +If bounds have been specified, they are contained in 'mc' and 'vc' +_before_ all other linear constraints. + 'n_gencstr' (required): number of general constraints (except the linear constraints given by 'mc' and 'vc', Modified: trunk/octave-forge/main/optim/inst/cpiv_bard.m =================================================================== --- trunk/octave-forge/main/optim/inst/cpiv_bard.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/cpiv_bard.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,4 +1,4 @@ -%% Copyright (C) 2010, 2011 Olaf Till <ola...@un...> +%% Copyright (C) 2010, 2011 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software Modified: trunk/octave-forge/main/optim/inst/dcdp.m =================================================================== --- trunk/octave-forge/main/optim/inst/dcdp.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/dcdp.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,4 +1,4 @@ -%% Copyright (C) 2010, 2011 Olaf Till <ola...@un...> +%% Copyright (C) 2010, 2011 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software @@ -40,4 +40,3 @@ hook.diff_onesided = dp < 0; prt = __dfdp__ (p, func, hook); -end Modified: trunk/octave-forge/main/optim/inst/dfdp.m =================================================================== --- trunk/octave-forge/main/optim/inst/dfdp.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/dfdp.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,7 +1,7 @@ %% Copyright (C) 1992-1994 Richard Shrager %% Copyright (C) 1992-1994 Arthur Jutan %% Copyright (C) 1992-1994 Ray Muzic -%% Copyright (C) 2010, 2011 Olaf Till <ola...@un...> +%% Copyright (C) 2010, 2011 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software Modified: trunk/octave-forge/main/optim/inst/dfpdp.m =================================================================== --- trunk/octave-forge/main/optim/inst/dfpdp.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/dfpdp.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -48,5 +48,3 @@ end ret = __dfdp__ (varargin{:}); - -end Modified: trunk/octave-forge/main/optim/inst/dfxpdp.m =================================================================== --- trunk/octave-forge/main/optim/inst/dfxpdp.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/dfxpdp.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,4 +1,4 @@ -%% Copyright (C) 2010, 2011 Olaf Till <ola...@un...> +%% Copyright (C) 2010, 2011 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software @@ -51,5 +51,3 @@ end ret = __dfdp__ (varargin{2:end}); - -end Modified: trunk/octave-forge/main/optim/inst/gjp.m =================================================================== --- trunk/octave-forge/main/optim/inst/gjp.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/gjp.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,4 +1,4 @@ -%% Copyright (C) 2010, 2011 Olaf Till <ola...@un...> +%% Copyright (C) 2010, 2011 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software @@ -50,4 +50,3 @@ m([1:k-1, k+1:end], l) * m(k, [1:l-1, l+1:end]); m([1:k-1, k+1:end], l) = - m([1:k-1, k+1:end], l) / p; % pivot column m(k, l) = 1 / p; -end Modified: trunk/octave-forge/main/optim/inst/leasqr.m =================================================================== --- trunk/octave-forge/main/optim/inst/leasqr.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/leasqr.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,7 +1,7 @@ %% Copyright (C) 1992-1994 Richard Shrager %% Copyright (C) 1992-1994 Arthur Jutan <ju...@ch...> %% Copyright (C) 1992-1994 Ray Muzic <rf...@ds...> -%% Copyright (C) 2010, 2011 Olaf Till <ola...@un...> +%% Copyright (C) 2010, 2011 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software Modified: trunk/octave-forge/main/optim/inst/nonlin_residmin.m =================================================================== --- trunk/octave-forge/main/optim/inst/nonlin_residmin.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/nonlin_residmin.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -90,7 +90,8 @@ ## intervals should be used by jacobian functions performing finite ## differencing. Default: @code{false (size (parameters))}. ## -## @code{complex_step_derivative}, @code{complex_step_derivative_inequc}, +## @code{complex_step_derivative_f}, +## @code{complex_step_derivative_inequc}, ## @code{complex_step_derivative_equc}: logical scalars, default: false. ## Estimate Jacobian of model function, general inequality constraints, ## and general equality constraints, respectively, with complex step @@ -176,7 +177,7 @@ ## ## @code{plot_cmd}: Function enabling backend to plot results or ## intermediate results. Will be called with current computed -## residualse. Default: plot nothing. +## residuals. Default: plot nothing. ## ## @code{debug}: Logical scalar, default: @code{false}. Will be passed ## to the backend, which might print debugging information if true. Modified: trunk/octave-forge/main/optim/inst/optim_problems.m =================================================================== --- trunk/octave-forge/main/optim/inst/optim_problems.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/optim_problems.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -1,6 +1,6 @@ %% Copyright (C) 2007 Paul Kienzle (sort-based lookup in ODE solver) -%% Copyright (C) 2009 Thomas Treichl <tho...@gm...> -%% Copyright (C) 2010 Olaf Till <ola...@un...> +%% Copyright (C) 2009 Thomas Treichl <tho...@gm...> (ode23 code) +%% Copyright (C) 2010 Olaf Till <i7...@t-...> %% %% This program is free software; you can redistribute it and/or modify it under %% the terms of the GNU General Public License as published by the Free Software Modified: trunk/octave-forge/main/optim/inst/private/__dfdp__.m =================================================================== --- trunk/octave-forge/main/optim/inst/private/__dfdp__.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/private/__dfdp__.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -83,7 +83,7 @@ idxa = p == 0; del(idxa) = diffp(idxa); del(diff_onesided) = - del(diff_onesided); % keep course of - % optimization of previous versions + % optimization of previous versions absdel = abs (del); idxd = ~(diff_onesided | fixed); % double sided interval p1 = zeros (n, 1); @@ -107,9 +107,9 @@ idxnvd = idxd & idxnv; % within bounds, double sided interval %% remaining single sided intervals p1(idxnvs) = p(idxnvs) + del(idxnvs); % don't take absdel, this could - % change course of optimization without - % bounds with respect to previous - % versions + % change course of optimization without + % bounds with respect to previous + % versions %% remaining single sided intervals, violating a bound -> take largest %% possible direction of single sided interval idxvs(idxnvs) = p1(idxnvs, 1) < lbound(idxnvs, 1) | ... @@ -120,14 +120,14 @@ idx1g2w(idxvs) = idx1g2; idx1le2w(idxvs) = ~idx1g2; p1(idx1g2w) = max (p(idx1g2w, 1) - absdel(idx1g2w, 1), ... - lbound(idx1g2w, 1)); + lbound(idx1g2w, 1)); p1(idx1le2w) = min (p(idx1le2w, 1) + absdel(idx1le2w, 1), ... - ubound(idx1le2w, 1)); + ubound(idx1le2w, 1)); %% double sided interval p1(idxnvd) = min (p(idxnvd, 1) + absdel(idxnvd, 1), ... - ubound(idxnvd, 1)); + ubound(idxnvd, 1)); p2(idxnvd) = max (p(idxnvd, 1) - absdel(idxnvd, 1), ... - lbound(idxnvd, 1)); + lbound(idxnvd, 1)); del(idxs) = p1(idxs) - p(idxs); del(idxd) = p1(idxd) - p2(idxd); @@ -141,16 +141,16 @@ ps = p; ps(j) = p1(j); if (idxs(j)) - info.side = 0; % onesided interval - tp1 = func (ps, info); - prt(:, j) = (tp1(:) - f) / del(j); + info.side = 0; % onesided interval + tp1 = func (ps, info); + prt(:, j) = (tp1(:) - f) / del(j); else - info.side = 1; % centered interval, side 1 - tp1 = func (ps, info); - ps(j) = p2(j); - info.side = 2; % centered interval, side 2 - tp2 = func (ps, info); - prt(:, j) = (tp1(:) - tp2(:)) / del(j); + info.side = 1; % centered interval, side 1 + tp1 = func (ps, info); + ps(j) = p2(j); + info.side = 2; % centered interval, side 2 + tp2 = func (ps, info); + prt(:, j) = (tp1(:) - tp2(:)) / del(j); end end end Modified: trunk/octave-forge/main/optim/inst/private/__lm_svd__.m =================================================================== --- trunk/octave-forge/main/optim/inst/private/__lm_svd__.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/private/__lm_svd__.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -37,7 +37,7 @@ df_cstr = hook.df_cstr; % function of derivatives of all constraints n_gencstr = hook.n_gencstr; % number of non-linear constraints eq_idx = hook.eq_idx; % logical index of equality constraints in all - % constraints + % constraints lbound = hook.lbound; % bounds, subset of linear inequality ubound = hook.ubound; % constraints in mc and vc @@ -86,16 +86,16 @@ wtl = wt(:); nz = 20 * eps; % This is arbitrary. Constraint function will be - % regarded as <= zero if less than nz. + % regarded as <= zero if less than nz. %% backend-specific checking of options and constraints if (have_constraints_except_bounds) if (any (pin_cstr.inequ.lin_except_bounds < 0) || ... - (n_gencstr > 0 && any (pin_cstr.inequ.gen < 0))) + (n_gencstr > 0 && any (pin_cstr.inequ.gen < 0))) warning ('initial parameters violate inequality constraints'); end if (any (abs (pin_cstr.equ.lin) >= nz) || ... - (n_gencstr > 0 && any (abs (pin_cstr.equ.gen) >= nz))) + (n_gencstr > 0 && any (abs (pin_cstr.equ.gen) >= nz))) warning ('initial parameters violate equality constraints'); end end @@ -128,7 +128,7 @@ %% fill constant fields of hook for derivative-functions; some fields %% may be backend-specific dfdp_hook.fixed = fixed; % this may be handled by the frontend, but - % the backend still may add to it + % the backend still may add to it %% set up for iterations %% @@ -156,18 +156,18 @@ v_cstr = f_cstr (p, ac_idx); %% index of active constraints c_act = v_cstr < nz | eq_idx; # equality constraints might be - # violated at start + # violated at start if (any (c_act)) if (n_gencstr > 0) - dct = df_cstr (p, ac_idx, ... - setfield (dfdp_hook, 'f', v_cstr)); - dct(:, fixed) = 0; % for user supplied dfdp; necessary? - dc = dct.'; - dcat = dct(c_act, :); + dct = df_cstr (p, ac_idx, ... + setfield (dfdp_hook, 'f', v_cstr)); + dct(:, fixed) = 0; % for user supplied dfdp; necessary? + dc = dct.'; + dcat = dct(c_act, :); else - dcat = df_cstr (p, c_act, ... - setfield (dfdp_hook, 'f', v_cstr)); - dcat(:, fixed) = 0; % for user supplied dfdp; necessary? + dcat = df_cstr (p, c_act, ... + setfield (dfdp_hook, 'f', v_cstr)); + dcat(:, fixed) = 0; % for user supplied dfdp; necessary? end dca = dcat.'; end @@ -207,46 +207,46 @@ %%% ser = 1 ./ sqrt((s.*s)+epsL); se = sqrt ((s.*s) + epsL); if (new_s) - %% for testing - ser = (1 / (1 + epsL^2)) * (1 ./ se + epsL * s); + %% for testing + ser = (1 / (1 + epsL^2)) * (1 ./ se + epsL * s); else - ser = 1 ./ se; + ser = 1 ./ se; end tp1 = (v * (g .* ser)) .* nrm; if (any (c_act)) - deb_printf (testing, 'constraints are active:\n'); - deb_printf (testing, '%i\n', c_act); - %% calculate chg by 'quadratic programming' - nrme= diag (nrm); - ser2 = diag (ser .* ser); - mfc1 = nrme * v * ser2 * v.' * nrme; - tp2 = mfc1 * dca; - a_eq_idx = eq_idx(c_act); - [lb, bidx, ridx, tbl] = cpiv (dcat * tp1, dcat * tp2, a_eq_idx); - chg = tp1 + tp2(:, bidx) * lb; % if a parameter is 'fixed', - % the respective component of chg should - % be zero too, even here (with active - % constraints) - deb_printf (testing, 'change:\n'); - deb_printf (testing, '%e\n', chg); - deb_printf (testing, '\n'); - %% indices for different types of constraints - c_inact = ~c_act; % inactive constraints - c_binding = nc_idx; - c_binding(c_act) = bidx; % constraints selected binding - c_unbinding = nc_idx; - c_unbinding(c_act) = ridx; % constraints unselected binding - c_nonbinding = c_act & ~(c_binding | c_unbinding); % constraints - % selected non-binding + deb_printf (testing, 'constraints are active:\n'); + deb_printf (testing, '%i\n', c_act); + %% calculate chg by 'quadratic programming' + nrme= diag (nrm); + ser2 = diag (ser .* ser); + mfc1 = nrme * v * ser2 * v.' * nrme; + tp2 = mfc1 * dca; + a_eq_idx = eq_idx(c_act); + [lb, bidx, ridx, tbl] = cpiv (dcat * tp1, dcat * tp2, a_eq_idx); + chg = tp1 + tp2(:, bidx) * lb; % if a parameter is 'fixed', + % the respective component of chg should + % be zero too, even here (with active + % constraints) + deb_printf (testing, 'change:\n'); + deb_printf (testing, '%e\n', chg); + deb_printf (testing, '\n'); + %% indices for different types of constraints + c_inact = ~c_act; % inactive constraints + c_binding = nc_idx; + c_binding(c_act) = bidx; % constraints selected binding + c_unbinding = nc_idx; + c_unbinding(c_act) = ridx; % constraints unselected binding + c_nonbinding = c_act & ~(c_binding | c_unbinding); % constraints + % selected non-binding else - %% chg is the Levenberg/Marquardt step - chg = tp1; - %% indices for different types of constraints - c_inact = ac_idx; % inactive constraints consist of all - % constraints - c_binding = nc_idx; - c_unbinding = nc_idx; - c_nonbinding = nc_idx; + %% chg is the Levenberg/Marquardt step + chg = tp1; + %% indices for different types of constraints + c_inact = ac_idx; % inactive constraints consist of all + % constraints + c_binding = nc_idx; + c_unbinding = nc_idx; + c_nonbinding = nc_idx; end %% apply constraints to step width (since this is a %% Levenberg/Marquardt algorithm, no line-search is performed @@ -258,200 +258,200 @@ hstep = mcit * chg; idx = hstep < 0; if (any (idx)) - k = min (1, min (- (vci(idx) + mcit(idx, :) * pprev) ./ ... - hstep(idx))); + k = min (1, min (- (vci(idx) + mcit(idx, :) * pprev) ./ ... + hstep(idx))); end if (k < 1) - deb_printf (testing, 'stepwidth: linear constraints\n'); + deb_printf (testing, 'stepwidth: linear constraints\n'); end if (n_gencstr > 0) - c_tp = gc_idx & (c_nonbinding | c_inact); - if (any (c_tp) && any (f_cstr (pprev + k * chg, c_tp) < 0)) - [k, fval, info] = ... - fzero (@ (x) min (cat (1, ... - f_cstr (pprev + x * chg, c_tp), ... - k - x, ... - ifelse (x < 0, -Inf, Inf))), ... - 0); - if (info ~= 1 || abs (fval) >= nz) - error ('could not find stepwidth to satisfy inactive and non-binding general inequality constraints'); - end - deb_printf (testing, 'general constraints limit stepwidth\n'); - end + c_tp = gc_idx & (c_nonbinding | c_inact); + if (any (c_tp) && any (f_cstr (pprev + k * chg, c_tp) < 0)) + [k, fval, info] = ... + fzero (@ (x) min (cat (1, ... + f_cstr (pprev + x * chg, c_tp), ... + k - x, ... + ifelse (x < 0, -Inf, Inf))), ... + 0); + if (info ~= 1 || abs (fval) >= nz) + error ('could not find stepwidth to satisfy inactive and non-binding general inequality constraints'); + end + deb_printf (testing, 'general constraints limit stepwidth\n'); + end end chg = k * chg; if (any (gc_idx & c_binding)) % none selected binding => - % none unselected binding - deb_printf (testing, 'general binding constraints must be regained:\n'); - %% regain binding constraints and one of the possibly active - %% previously inactive or non-binding constraints - ptp1 = pprev + chg; + % none unselected binding + deb_printf (testing, 'general binding constraints must be regained:\n'); + %% regain binding constraints and one of the possibly active + %% previously inactive or non-binding constraints + ptp1 = pprev + chg; - tp = true; - nt_nosuc = true; - lim = 20; - while (nt_nosuc && lim >= 0) - deb_printf (testing, 'starting from new value of p in regaining:\n'); - deb_printf (testing, '%e\n', ptp1); - %% we keep d_p.' * inv (mfc1) * d_p minimal in each step of - %% the inner loop; this is both sensible (this metric - %% considers a guess of curvature of sum of squared residuals) - %% and convenient (we have useful matrices available for it) - c_tp0 = c_inact | c_nonbinding; - c_tp1 = c_inact | (gc_idx & c_nonbinding); - btbl = tbl(bidx, bidx); - c_tp2 = c_binding; - if (any (tp)) % if none before, does not get true again - tp = f_cstr (ptp1, c_tp1) < nz; - if (any (tp)) % could be less clumsy, but ml-compatibility.. - %% keep only the first true entry in tp - tp(tp) = logical (cat (1, 1, zeros (sum (tp) - 1, 1))); - %% supplement binding index with one (the first) getting - %% binding in c_tp1 - c_tp2(c_tp1) = tp; - %% gradient of this added constraint - caddt = dct(c_tp2 & ~c_binding, :); - cadd = caddt.'; - C = dct(c_binding, :) * mfc1 * cadd; - Ct = C.'; - G = [btbl, btbl * C; ... - -Ct * btbl, caddt * mfc1 * cadd - Ct * btbl * C]; - btbl = gjp (G, size (G, 1)); - end - end - dcbt = dct(c_tp2, :); - mfc = - mfc1 * dcbt.' * btbl; - deb_printf (testing, 'constraints to regain:\n'); - deb_printf (testing, '%i\n', c_tp2); + tp = true; + nt_nosuc = true; + lim = 20; + while (nt_nosuc && lim >= 0) + deb_printf (testing, 'starting from new value of p in regaining:\n'); + deb_printf (testing, '%e\n', ptp1); + %% we keep d_p.' * inv (mfc1) * d_p minimal in each step of + %% the inner loop; this is both sensible (this metric + %% considers a guess of curvature of sum of squared residuals) + %% and convenient (we have useful matrices available for it) + c_tp0 = c_inact | c_nonbinding; + c_tp1 = c_inact | (gc_idx & c_nonbinding); + btbl = tbl(bidx, bidx); + c_tp2 = c_binding; + if (any (tp)) % if none before, does not get true again + tp = f_cstr (ptp1, c_tp1) < nz; + if (any (tp)) % could be less clumsy, but ml-compatibility.. + %% keep only the first true entry in tp + tp(tp) = logical (cat (1, 1, zeros (sum (tp) - 1, 1))); + %% supplement binding index with one (the first) getting + %% binding in c_tp1 + c_tp2(c_tp1) = tp; + %% gradient of this added constraint + caddt = dct(c_tp2 & ~c_binding, :); + cadd = caddt.'; + C = dct(c_binding, :) * mfc1 * cadd; + Ct = C.'; + G = [btbl, btbl * C; ... + -Ct * btbl, caddt * mfc1 * cadd - Ct * btbl * C]; + btbl = gjp (G, size (G, 1)); + end + end + dcbt = dct(c_tp2, :); + mfc = - mfc1 * dcbt.' * btbl; + deb_printf (testing, 'constraints to regain:\n'); + deb_printf (testing, '%i\n', c_tp2); - ptp2 = ptp1; - nt_niter_start = 100; - nt_niter = nt_niter_start; - while (nt_nosuc && nt_niter >= 0) - hv = f_cstr (ptp2, c_tp2); - if (all (abs (hv) < nz)) - nt_nosuc = false; - chg = ptp2 - pprev; - else - ptp2 = ptp2 + mfc * hv; % step should be zero for each - % component for which the parameter is - % 'fixed' - end - nt_niter = nt_niter - 1; - end - deb_printf (testing, 'constraints after regaining:\n'); - deb_printf (testing, '%e\n', hv); - if (nt_nosuc || ... - any (abs (chg) > abs (pprev .* maxstep)) || ... - any (f_cstr (ptp2, c_tp0) < -nz)) - if (nt_nosuc) - deb_printf (testing, 'regaining did not converge\n'); - else - deb_printf (testing, 'regaining violated type 3 and 4\n'); - end - nt_nosuc = true; - ptp1 = (pprev + ptp1) / 2; - end - if (~nt_nosuc) - tp = f_cstr (ptp2, c_unbinding); - if (any (tp) < 0) % again ml-compatibility clumsyness.. - [discarded, id] = min(tp); - tid = find (ridx); - id = tid(id); % index within active constraints - unsuccessful_exchange = false; - if (abs (tbl(id, id)) < nz) % Bard: not absolute value - %% exchange this unselected binding constraint against a - %% binding constraint, but not against an equality - %% constraint - tbidx = bidx & ~a_eq_idx; - if (~any (tbidx)) - unsuccessful_exchange = true; - else - [discarded, idm] = max (abs (tbl(tbidx, id))); - tid = find (tbidx); - idm = tid(idm); % -> index within active constraints - tbl = gjp (tbl, idm); - bidx(idm) = false; - ridx(idm) = true; - end - end - if (unsuccessful_exchange) - %% It probably doesn't look good now; this desperate - %% last attempt is not in the original algortithm, since - %% that didn't account for equality constraints. - ptp1 = (pprev + ptp1) / 2; - else - tbl = gjp (tbl, id); - bidx(id) = true; - ridx(id) = false; - c_binding = nc_idx; - c_binding(c_act) = bidx; - c_unbinding = nc_idx; - c_unbinding(c_act) = ridx; - end - nt_nosuc = true; - deb_printf (testing, 'regaining violated type 2\n'); - end - end - if (~nt_nosuc) - deb_printf (testing, 'regaining successful, converged with %i iterations:\n', ... - nt_niter_start - nt_niter); - deb_printf (testing, '%e\n', ptp2); - end - lim = lim - 1; - end - if (nt_nosuc) - error ('could not regain binding constraints'); - end + ptp2 = ptp1; + nt_niter_start = 100; + nt_niter = nt_niter_start; + while (nt_nosuc && nt_niter >= 0) + hv = f_cstr (ptp2, c_tp2); + if (all (abs (hv) < nz)) + nt_nosuc = false; + chg = ptp2 - pprev; + else + ptp2 = ptp2 + mfc * hv; % step should be zero for each + % component for which the parameter is + % 'fixed' + end + nt_niter = nt_niter - 1; + end + deb_printf (testing, 'constraints after regaining:\n'); + deb_printf (testing, '%e\n', hv); + if (nt_nosuc || ... + any (abs (chg) > abs (pprev .* maxstep)) || ... + any (f_cstr (ptp2, c_tp0) < -nz)) + if (nt_nosuc) + deb_printf (testing, 'regaining did not converge\n'); + else + deb_printf (testing, 'regaining violated type 3 and 4\n'); + end + nt_nosuc = true; + ptp1 = (pprev + ptp1) / 2; + end + if (~nt_nosuc) + tp = f_cstr (ptp2, c_unbinding); + if (any (tp) < 0) % again ml-compatibility clumsyness.. + [discarded, id] = min(tp); + tid = find (ridx); + id = tid(id); % index within active constraints + unsuccessful_exchange = false; + if (abs (tbl(id, id)) < nz) % Bard: not absolute value + %% exchange this unselected binding constraint against a + %% binding constraint, but not against an equality + %% constraint + tbidx = bidx & ~a_eq_idx; + if (~any (tbidx)) + unsuccessful_exchange = true; + else + [discarded, idm] = max (abs (tbl(tbidx, id))); + tid = find (tbidx); + idm = tid(idm); % -> index within active constraints + tbl = gjp (tbl, idm); + bidx(idm) = false; + ridx(idm) = true; + end + end + if (unsuccessful_exchange) + %% It probably doesn't look good now; this desperate + %% last attempt is not in the original algortithm, since + %% that didn't account for equality constraints. + ptp1 = (pprev + ptp1) / 2; + else + tbl = gjp (tbl, id); + bidx(id) = true; + ridx(id) = false; + c_binding = nc_idx; + c_binding(c_act) = bidx; + c_unbinding = nc_idx; + c_unbinding(c_act) = ridx; + end + nt_nosuc = true; + deb_printf (testing, 'regaining violated type 2\n'); + end + end + if (~nt_nosuc) + deb_printf (testing, 'regaining successful, converged with %i iterations:\n', ... + nt_niter_start - nt_niter); + deb_printf (testing, '%e\n', ptp2); + end + lim = lim - 1; + end + if (nt_nosuc) + error ('could not regain binding constraints'); + end else - %% check the maximal stepwidth and apply as necessary - ochg=chg; - idx = ~isinf(maxstep); - limit = abs(maxstep(idx).*pprev(idx)); - chg(idx) = min(max(chg(idx),-limit),limit); - if (verbose && any(ochg ~= chg)) - disp(['Change in parameter(s): ', ... - sprintf('%d ',find(ochg ~= chg)), 'maximal fractional stepwidth enforced']); - end + %% check the maximal stepwidth and apply as necessary + ochg=chg; + idx = ~isinf(maxstep); + limit = abs(maxstep(idx).*pprev(idx)); + chg(idx) = min(max(chg(idx),-limit),limit); + if (verbose && any(ochg ~= chg)) + disp(['Change in parameter(s): ', ... + sprintf('%d ',find(ochg ~= chg)), 'maximal fractional stepwidth enforced']); + end end aprec=abs(pprec.*pbest); %--- %% ss=scalar sum of squares=sum((wt.*f)^2). if (any(abs(chg) > 0.1*aprec))%--- % only worth evaluating - % function if there is some non-miniscule - % change - p=chg+pprev; - %% since the projection method may have slightly violated - %% constraints due to inaccuracy, correct parameters to bounds - %% --- but only if no further constraints are given, otherwise - %% the inaccuracy in honoring them might increase by this - if (~have_constraints_except_bounds) - lidx = p < lbound; - uidx = p > ubound; - p(lidx, 1) = lbound(lidx, 1); - p(uidx, 1) = ubound(uidx, 1); - chg(lidx, 1) = p(lidx, 1) - pprev(lidx, 1); - chg(uidx, 1) = p(uidx, 1) - pprev(uidx, 1); - end - %% - f = F (p); - r = wt .* f; - r = r(:); - if (~isreal (r)) - error ('weighted residuals are not real'); - end - ss = r.' * r; - deb_printf (testing, 'sbest: %.16e\n', sbest); - deb_printf (testing, 'sgoal: %.16e\n', sgoal); - deb_printf (testing, ' ss: %.16e\n', ss); - if (ss<sbest) + % function if there is some non-miniscule + % change + p=chg+pprev; + %% since the projection method may have slightly violated + %% constraints due to inaccuracy, correct parameters to bounds + %% --- but only if no further constraints are given, otherwise + %% the inaccuracy in honoring them might increase by this + if (~have_constraints_except_bounds) + lidx = p < lbound; + uidx = p > ubound; + p(lidx, 1) = lbound(lidx, 1); + p(uidx, 1) = ubound(uidx, 1); + chg(lidx, 1) = p(lidx, 1) - pprev(lidx, 1); + chg(uidx, 1) = p(uidx, 1) - pprev(uidx, 1); + end + %% + f = F (p); + r = wt .* f; + r = r(:); + if (~isreal (r)) + error ('weighted residuals are not real'); + end + ss = r.' * r; + deb_printf (testing, 'sbest: %.16e\n', sbest); + deb_printf (testing, 'sgoal: %.16e\n', sgoal); + deb_printf (testing, ' ss: %.16e\n', ss); + if (ss<sbest) pbest=p; fbest=f; sbest=ss; - end - if (ss<=sgoal) + end + if (ss<=sgoal) break; - end + end end %--- end %% printf ('epsL no.: %i\n', jjj); % for testing @@ -472,7 +472,7 @@ if (all(abs(chg) <= aprec) && all(abs(chgprev) <= aprec)) cvg = 2; if (verbose) - fprintf('Parameter changes converged to specified precision\n'); + fprintf('Parameter changes converged to specified precision\n'); end break; else Modified: trunk/octave-forge/main/optim/inst/private/__nonlin_residmin__.m =================================================================== --- trunk/octave-forge/main/optim/inst/private/__nonlin_residmin__.m 2012-05-24 04:38:19 UTC (rev 10509) +++ trunk/octave-forge/main/optim/inst/private/__nonlin_residmin__.m 2012-05-24 05:50:43 UTC (rev 10510) @@ -31,6 +31,12 @@ optimget = @ __optimget__; endif + if (compare_versions (version (), "3.2.4", "<=")) + ## For bug #31484; but Octave 3.6... shows bug #36288 due to this + ## workaround. Octave 3.7... seems to be all right. + __dfdp__ = @ __dfdp__; + endif + ## some scalar defaults; some defaults are backend specific, so ## lacking elements in respective constructed vectors will be set to ## NA here in the frontend @@ -56,7 +62,7 @@ "fract_prec", [], \ "diffp", [], \ "diff_onesided", [], \ - "complex_step_derivative", false, \ + "complex_step_derivative_f", false, \ "complex_step_derivative_inequc", false, \ "complex_step_derivative_equc", false, \ "cstep", cstep_default, \ @@ -112,10 +118,10 @@ diffp = optimget (settings, "diffp"); diff_onesided = optimget (settings, "diff_onesided"); fixed = optimget (settings, "fixed"); - do_cstep = optimget (settings, "complex_step_derivative", false); + do_cstep = optimget (settings, "complex_step_derivative_f", false); cstep = optimget (settings, "cstep", cstep_default); if (do_cstep && ! isempty (dfdp)) - error ("both 'complex_step_derivative' and 'dfdp' are set"); + error ("both 'complex_step_derivative_f' and 'dfdp' are set"); endif do_cstep_inequc = \ optimget (settings, "complex_step_derivative_inequc", false); @@ -458,7 +464,6 @@ if (do_cstep) dfdp = @ (p, hook) jacobs (p, f, hook); else - __dfdp__ = @ __dfdp__; # for bug #31484 (Octave <= 3.2.4) dfdp = @ (p, hook) __dfdp__ (p, f, hook); endif endif @@ -814,8 +819,8 @@ tp = eye (sum (nonfixed)); lidx = lbound != - Inf; uidx = ubound != Inf; - mc = cat (2, mc, tp(:, lidx), - tp(:, uidx)); - vc = cat (1, vc, - lbound(lidx, 1), ubound(uidx, 1)); + mc = cat (2, tp(:, lidx), - tp(:, uidx), mc); + vc = cat (1, - lbound(lidx, 1), ubound(uidx, 1), vc); ## concatenate linear inequality and equality constraints mc = cat (2, mc, emc); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-05-24 04:38:25
|
Revision: 10509 http://octave.svn.sourceforge.net/octave/?rev=10509&view=rev Author: benjf5 Date: 2012-05-24 04:38:19 +0000 (Thu, 24 May 2012) Log Message: ----------- Added nureal function to lssa. Added Paths: ----------- trunk/octave-forge/extra/lssa/nureal.m Added: trunk/octave-forge/extra/lssa/nureal.m =================================================================== --- trunk/octave-forge/extra/lssa/nureal.m (rev 0) +++ trunk/octave-forge/extra/lssa/nureal.m 2012-05-24 04:38:19 UTC (rev 10509) @@ -0,0 +1,72 @@ +## Copyright (C) 2012 Benjamin Lewis +## +## This program is free software; you can redistribute it and/or modify it under +## the terms of the GNU General Public License as published by the Free Software +## Foundation; either version 2 of the License, or (at your option) any later +## version. +## +## This program is distributed in the hope that it will be useful, but WITHOUT +## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +## details. +## +## You should have received a copy of the GNU General Public License along with +## this program; if not, see <http://www.gnu.org/licenses/>. + +## -*- texinfo -*- +## @deftypefn {Function File} {transform =} nureal ( mag, time, maxfreq, numcoeff, numoctaves) +## +## Return the real least-squares transform of the time series +## defined, based on the maximal frequency @var{maxfreq}, the +## number of coefficients @var{numcoeff}, and the number of +## octaves @var{numoctaves}. It works only for vectors currently. +## +## @end deftypefn + +function transform = nureal( x, t, omegamax, ncoeff, noctave) + ## the R function runs the following command: + ## nureal( double X, double Y, int min(X,Y), int ncoeff, int noctave, double omegamax, complex rp) + ## this means that in the C, *tptr is X and *xptr is Y. Yes, I know. I think I'll rename them. + ## n is the min of X and Y ... (as is k) and ncoeff is ... ncoeff, while noctave is noctave and + ## o is omegamax. + ## where rp = complex(noctave*ncoeff) so ... I can just store that as noctave*ncoeff and have no + ## problems, I guess. + ## Possibly throw an error if ncoeff <= 0. + k = n = min ( min ( x , t ) ); ## THIS IS VECTOR-ONLY. I'd need to add another bit of code to + ## make it array-safe, and that's not knowing right now what else will be necessary. + rp = zeros(1,(noctave * ncoeff)); ## In the C code, this is rendered as a Complex, but Octave doesn't care. + od = 2 ^ ( - 1 / ncoeff ); ## this will cause a crash if ncoeff=0; prefer error & quit? + o = omegamax; + ## ot is just defined as a Real here, I'm leaving it until it needs to be called. + n1 = 1 / n; ## written n_1 in the C, but I'd prefer to not get into underscores here. + ## zeta and iota are defined as Complex here, leaving them until they need to be defined. + ## I'm not convinced I won't want ncoeff again, so ... + ncoeffp = ncoeff; + for ( ncoeffp *= noctave , iter = 1 ; sign(ncoeffp--) ; o *= od ) + #{ + zeta = iota = 0; + for ( SRCFIRST ; SRCAVAIL ; SRCNEXT ) ##This is going to be vectorised shortly. + ## This code can't run yet ... I'm going to work out what SRCFIRST, SRCAVAIL, SRCNEXT are and + ## replace them with what they should be in this context. I've kept them as reminders. + ot = o * SRCT; ## Same with SRCT ... I think it means what was originally set as Y. Macros? + zeta += cos(ot) * SRCX; + zeta -= sin(ot) * SRCX * i; ## More sure now. I don't think I can vectorise this ... who am I kidding? + ot *= 2; + iota += cos(ot); + iota -= sin(ot) * i; + endfor + }# + ## Commented out the converted-from-C code because it's replaced by the four lines below. + ## This method is an application of Eq. 8 on page 6 of the text, as well as Eq. 7 + ot = o .* t; + zeta = sum( ( cos(ot) .* x ) - ( sin(ot) .* x .* i ) ); + ot = ot .* 2; + iota = sum( cos(ot) - ( sin(ot) .* i ) ); + zeta *= n1; + iota *= n1; + rp(iter++) = 2 / ( 1 - ( real(iota) ^ 2 ) - ( imag(iota) ^ 2 ) ) * ( conj(zeta) - (conj(iota) * zeta )); + endfor + + transform = rp; + +endfunction \ No newline at end of file This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-23 21:47:40
|
Revision: 10508 http://octave.svn.sourceforge.net/octave/?rev=10508&view=rev Author: jpicarbajal Date: 2012-05-23 21:47:33 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 20:35:07 UTC (rev 10507) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 21:47:33 UTC (rev 10508) @@ -62,6 +62,8 @@ // followed by whitespace 4 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', ), + 'NUMBERS' => GESHI_NUMBER_INT_BASIC | GESHI_NUMBER_OCT_PREFIX | GESHI_NUMBER_HEX_PREFIX | + GESHI_NUMBER_FLT_SCI_ZERO, 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( @@ -74,7 +76,7 @@ 2 => array( 'global', 'persistent', 'static' ), - // Internal variables + // Internal variable 3 => array('ans'), // Reserved words 4 => array( @@ -87,7 +89,7 @@ ), // Built in 5 => array( - 'Inf', 'NaN', 'P_tmpdir', 'abs', 'acos', 'acosh', + 'P_tmpdir', 'abs', 'acos', 'acosh', 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', @@ -145,7 +147,7 @@ 'octave_tmp_file_name', 'onCleanup', 'ones', 'optimize_subsasgn_calls', 'or', 'output_max_field_width', 'output_precision', 'page_output_immediately', 'page_screen_output', - 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pi', 'pipe', 'plus', + 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pipe', 'plus', 'popen', 'popen2', 'power', 'print_empty_dimensions', 'print_struct_array_contents', 'printf', 'prod', 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', @@ -369,7 +371,7 @@ // Builtin Global Variables 9 => array( 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', - 'F_SETFL', 'I', 'IMAGE_PATH', 'J', 'NA', 'OCTAVE_HOME', + 'F_SETFL', 'IMAGE_PATH', 'OCTAVE_HOME', 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', @@ -385,10 +387,6 @@ 14 => array("\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), // Hex number 15 => array("\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), - // Reserved constants - // Most of the constants can be used as functions too. Do not highlight - // as constants if followed by parentheses. - 16 => array("[e|eps|(J|j|I|i)|(Inf|inf)|(NaN|nan)|NA|ones|pi|rand|randn|zeros])(\b(?!(\s)*\()"), // Package manager 17 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") ), @@ -396,8 +394,8 @@ 0 => array( '!', '!=', '&', '&&','|', '||', '~', '~=', '<', '<=', '=', '==', '>', '>='), - 1 => array('*', '**', '+', '++', '-', '--', '/', '\'), - 2 => array('.*', '.**','./', '.^', '^','.\'), + 1 => array('*', '**', '+', '++', '-', '--', '/', "\\","'"), + 2 => array('.*', '.**','./', '.^', '^',".\\",".'"), 3 => array(':'), 4 => array(',', '...', ';') ), @@ -415,7 +413,6 @@ 13 => false, 14 => false, 15 => false, - 16 => false, 17 => false ), 'URLS' => array( @@ -431,7 +428,6 @@ 13 => '', 14 => '', 15 => '', - 16 => '', 17 => '' ), 'OOLANG' => true, @@ -442,28 +438,33 @@ 'REGEXPS' => array( //Complex numbers // 0 => "(?<![\\w\\/])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w]|\<DOT>html)", - // Boolean + // Boolean functions // false and true can be used as functions too. // Do not highlight as boolean if followed by parentheses. -// 1 => "(\b([false|true])(\\b(?!(\\s)*\())" + 1 => array( + GESHI_SEARCH => '(false|true)(\s*\\()', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '\\2' + ), //Function handle - 1 => array( + 2 => array( GESHI_SEARCH => '(@([A-Za-z_][A-Za-z1-9_]*)?)', GESHI_REPLACE => '\\1', GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '' ), - // Decimal TODO not working -# 2 => array( -# GESHI_SEARCH => '(\b([1-9][0-9]*|0)([u]([l]|LL|ll)?|([l]|LL|ll)[u]?)?\b)', -#// GESHI_SEARCH => '(stuff)', -# GESHI_REPLACE => '\\1', -# GESHI_MODIFIERS => 'si', -# GESHI_BEFORE => '', -# GESHI_AFTER => '' -# ) - + // Most of the constants can be used as functions too. Do not highlight + // as constants if followed by parentheses. + 3 => array( + GESHI_SEARCH => '(e|eps|inf|nan|NA|pi)(\s*\\()', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '\\2' + ) ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array(), @@ -472,7 +473,7 @@ 'KEYWORDS' => array( 1 => 'color: #2E8B57; font-weight:bold;', // Data types 2 => 'color: #2E8B57;', // Storage type - 3 => 'color: #0000FF; font-weight:bold;', // Internal variable +// 3 => 'color: #0000FF; font-weight:bold;', // Internal variable 4 => 'color: #990000; font-weight:bold;', // Reserved words 5 => 'color: #008A8C; font-weight:bold;', // Built-in 6 => 'color: #008A8C;', // Octave functions @@ -495,7 +496,10 @@ 0 => 'color: #A020F0;' ), 'NUMBERS' => array( - 0 => 'color: #33f;' + 0 => 'color: #cc66cc;', + GESHI_NUMBER_OCT_PREFIX => 'color: #208080;', + GESHI_NUMBER_HEX_PREFIX => 'color: #208080;', + GESHI_NUMBER_FLT_SCI_ZERO => 'color:#800080;' ), 'METHODS' => array( 1 => '', @@ -509,9 +513,9 @@ 4 => 'color: #33f' ), 'REGEXPS' => array( - 0 => 'color: #33f;', - 1 => 'color: #0000FF; font-weight:bold;', //Function handle - 2 => 'color: #CC3399;' //Decimal + 1 => 'color: #008A8C; font-weight:bold;', // Boolean func + 2 => 'color: #006600; font-weight:bold;', //Function handle + 3 => 'color: #008A8C; font-weight:bold;' // Constant used as func ), 'SCRIPT' => array( 0 => '' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-23 20:35:13
|
Revision: 10507 http://octave.svn.sourceforge.net/octave/?rev=10507&view=rev Author: jpicarbajal Date: 2012-05-23 20:35:07 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files and script to print builtins Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 17:31:49 UTC (rev 10506) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 20:35:07 UTC (rev 10507) @@ -43,13 +43,26 @@ $language_data = array ( 'LANG_NAME' => 'GNU/Octave', 'COMMENT_SINGLE' => array(1=> '#', 2 => '%'), - 'COMMENT_MULTI' => array('#{' => '#}', '%{' => '%}'), - //Octave Strings + // we really can't use this since these characters need to be alone (or with + // whitespace) on a line. We will have to use regexp + //'COMMENT_MULTI' => array('#{' => '#}', '%{' => '%}'), 'COMMENT_REGEXP' => array( - 2 => "/(?<![\\w\\)\\]\\}\\.])('[^\\n']*?')/" + // Single quote strings: we really can't use QUOTEMARKS here since new + // lines will break the string. Plus, single quote strings do not even + // allow for continuation markers, only double quote strings allow it. + // Also, to do not misdetect the transpose operator ' as the start of a + // string we assert to not follow a variable name (letters, digits and + // underscores) or a closing bracket (round, square or curly) or a dot + // (to form the array transpose operator ".'" ). + // see the source of octave.lang of gtksourceview + 3 => "/(?<![0-9a-zA-Z_\)\]}\.])'.*?'/", + // Double quote strings: we also can't use QUOTEMARKS here (see single + // line quotes). However, with double quote strings both \ and ... can + // be used to make multiline strings. Continuation markers can be + // followed by whitespace + 4 => '/"(.|(\.\.\.|\\\)(\s)*?\n)*?(?<!\\\)"/', ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, - 'QUOTEMARKS' => array('"',"'"), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( // Data types @@ -440,15 +453,16 @@ GESHI_MODIFIERS => '', GESHI_BEFORE => '', GESHI_AFTER => '' - )//, + ), // Decimal TODO not working -// 2 => array( -// GESHI_SEARCH => '(\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b)', -// GESHI_REPLACE => '\\1', -// GESHI_MODIFIERS => '', -// GESHI_BEFORE => '', -// GESHI_AFTER => '' -// ) +# 2 => array( +# GESHI_SEARCH => '(\b([1-9][0-9]*|0)([u]([l]|LL|ll)?|([l]|LL|ll)[u]?)?\b)', +#// GESHI_SEARCH => '(stuff)', +# GESHI_REPLACE => '\\1', +# GESHI_MODIFIERS => 'si', +# GESHI_BEFORE => '', +# GESHI_AFTER => '' +# ) ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, @@ -467,6 +481,8 @@ 'COMMENTS' => array( 1 => 'color: #0000FF; font-style: italic;', 2 => 'color: #0000FF; font-style: italic;', + 3 => 'color: #FF00FF; font-style: italic;', // single quote strings + 4 => 'color: #FF00FF; font-style: italic;', // double quote strings 'MULTI' => 'color: #0000FF; font-style: italic;' ), 'ESCAPE_CHAR' => array( @@ -476,7 +492,7 @@ 0 => 'color: #080;' ), 'STRINGS' => array( - //0 => 'color: #A020F0;' + 0 => 'color: #A020F0;' ), 'NUMBERS' => array( 0 => 'color: #33f;' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-05-23 17:31:58
|
Revision: 10506 http://octave.svn.sourceforge.net/octave/?rev=10506&view=rev Author: paramaniac Date: 2012-05-23 17:31:49 +0000 (Wed, 23 May 2012) Log Message: ----------- control-devel: remove some cruft Modified Paths: -------------- trunk/octave-forge/extra/control-devel/src/devel_slicot_functions.cc Removed Paths: ------------- trunk/octave-forge/extra/control-devel/devel/GlassFurnace_a.m trunk/octave-forge/extra/control-devel/devel/PowerPlantTest.m trunk/octave-forge/extra/control-devel/devel/data_ib01ad.m trunk/octave-forge/extra/control-devel/devel/ident.m trunk/octave-forge/extra/control-devel/devel/ident_a.m trunk/octave-forge/extra/control-devel/devel/identtest.m trunk/octave-forge/extra/control-devel/devel/overview.txt trunk/octave-forge/extra/control-devel/devel/test_slident.m trunk/octave-forge/extra/control-devel/src/slib01ad.cc trunk/octave-forge/extra/control-devel/src/slib01bd.cc trunk/octave-forge/extra/control-devel/src/slitest.cc Deleted: trunk/octave-forge/extra/control-devel/devel/GlassFurnace_a.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/GlassFurnace_a.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/GlassFurnace_a.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,66 +0,0 @@ -%{ -This file describes the data in the glassfurnace.dat file. -1. Contributed by: - Peter Van Overschee - K.U.Leuven - ESAT - SISTA - K. Mercierlaan 94 - 3001 Heverlee - Pet...@es... -2. Process/Description: - Data of a glassfurnace (Philips) -3. Sampling time - -4. Number of samples: - 1247 samples -5. Inputs: - a. heating input - b. cooling input - c. heating input -6. Outputs: - a. 6 outputs from temperature sensors in a cross section of the - furnace -7. References: - a. Van Overschee P., De Moor B., N4SID : Subspace Algorithms for - the Identification of Combined Deterministic-Stochastic Systems, - Automatica, Special Issue on Statistical Signal Processing and Control, - Vol. 30, No. 1, 1994, pp. 75-93 - b. Van Overschee P., "Subspace identification : Theory, - Implementation, Application" , Ph.D. Thesis, K.U.Leuven, February 1995. -8. Known properties/peculiarities - -9. Some MATLAB-code to retrieve the data - !gunzip glassfurnace.dat.Z - load glassfurnace.dat - T=glassfurnace(:,1); - U=glassfurnace(:,2:4); - Y=glassfurnace(:,5:10); - -%} - - close all, clc - -load glassfurnace.dat -T=glassfurnace(:,1); -U=glassfurnace(:,2:4); -Y=glassfurnace(:,5:10); - - -dat = iddata (Y, U) - -[sys, x0] = ident_a (dat, 10, 5) % s=10, n=5 - - -[y, t] = lsim (sys, U, [], x0); - -err = norm (Y - y, 1) / norm (Y, 1) - -figure (1) -p = columns (Y); -for k = 1 : p - subplot (3, 2, k) - plot (t, Y(:,k), 'b', t, y(:,k), 'r') -endfor -%title ('DaISy: Glass Furnace') -%legend ('y measured', 'y simulated', 'location', 'southeast') - - Deleted: trunk/octave-forge/extra/control-devel/devel/PowerPlantTest.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/PowerPlantTest.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/PowerPlantTest.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,87 +0,0 @@ -%{ -This file describes the data in the powerplant.dat file. -1. Contributed by: - Peter Van Overschee - K.U.Leuven - ESAT - SISTA - K. Mercierlaan 94 - 3001 Heverlee - Pet...@es... -2. Process/Description: - data of a power plant (Pont-sur-Sambre (France)) of 120 MW -3. Sampling time - 1228.8 sec -4. Number of samples: - 200 samples -5. Inputs: - 1. gas flow - 2. turbine valves opening - 3. super heater spray flow - 4. gas dampers - 5. air flow -6. Outputs: - 1. steam pressure - 2. main stem temperature - 3. reheat steam temperature -7. References: - a. R.P. Guidorzi, P. Rossi, Identification of a power plant from normal - operating records. Automatic control theory and applications (Canada, - Vol 2, pp 63-67, sept 1974. - b. Moonen M., De Moor B., Vandenberghe L., Vandewalle J., On- and - off-line identification of linear state-space models, International - Journal of Control, Vol. 49, Jan. 1989, pp.219-232 -8. Known properties/peculiarities - -9. Some MATLAB-code to retrieve the data - !gunzip powerplant.dat.Z - load powerplant.dat - U=powerplant(:,1:5); - Y=powerplant(:,6:8); - Yr=powerplant(:,9:11); - -%} - -clear all, close all, clc - -load powerplant.dat -U=powerplant(:,1:5); -Y=powerplant(:,6:8); -Yr=powerplant(:,9:11); - -inname = {'gas flow', - 'turbine valves opening', - 'super heater spray flow', - 'gas dampers', - 'air flow'}; - -outname = {'steam pressure', - 'main steam temperature', - 'reheat steam temperature'}; - -tsam = 1228.8; - -dat = iddata (Y, U, tsam, 'outname', outname, 'inname', inname); - - -% ldwork = [401, 802, 1203, 1604] -% warning: implicit conversion from real matrix to real scalar - -% ldwork = [802, 1203, 1604, 3000, 1e4, 1e5] -ldwork = [30000, 60000, 90000, 120000, 150000, 300000] -% ldwork = [60000, 90000, 120000, 150000, 300000, 600000] - - -r = arrayfun (@(x) identtest (dat, 10, 8, x), ldwork, 'uniformoutput', false); - - % s=10, n=8 - -l = length (ldwork); - -err = cell (l-1, 1); - -for k = 2 : l - err(k-1) = norm (abs(r{1}) - abs(r{k}), 1); - % err(k-1) = norm (r{1} - r{k}, 1); - % err(k-1) = norm (abs(abs(r{1}) - abs(r{k})), 1); -endfor - -err Deleted: trunk/octave-forge/extra/control-devel/devel/data_ib01ad.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/data_ib01ad.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/data_ib01ad.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,2040 +0,0 @@ -% IB01AD EXAMPLE PROGRAM DATA -% 15 0 1 1 1000 0.0 -1.0 M C N O N N -% nobr, n, m, l, nsmp, rcond, tol, meth, alg, jobd, batch,conct,ctrl - - -U = [ - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 -]; - -Y = [ - 4.766099 - 4.763659 - 4.839359 - 5.002979 - 5.017629 - 5.056699 - 5.154379 - 5.361949 - 5.425439 - 5.569519 - 5.681849 - 5.742899 - 5.803949 - 5.918729 - 5.821049 - 5.447419 - 5.061589 - 4.629349 - 4.267939 - 4.011519 - 3.850349 - 3.711159 - 3.569519 - 3.518239 - 3.652549 - 3.818609 - 3.862559 - 4.011519 - 4.353409 - 4.705049 - 5.083559 - 5.344859 - 5.274039 - 5.127519 - 4.761219 - 4.451089 - 4.221539 - 4.045709 - 3.874769 - 3.730689 - 3.662319 - 3.576849 - 3.542659 - 3.479169 - 3.454749 - 3.359509 - 3.298459 - 3.225199 - 3.200779 - 3.225199 - 3.227639 - 3.274039 - 3.457189 - 3.867449 - 4.321659 - 4.492599 - 4.431549 - 4.243519 - 4.050599 - 3.857679 - 3.730689 - 3.791739 - 3.921169 - 3.955359 - 3.847909 - 3.725809 - 3.611039 - 3.716039 - 4.092109 - 4.480389 - 4.814939 - 5.054259 - 5.303339 - 5.486489 - 5.672089 - 5.779529 - 5.799069 - 5.664759 - 5.291129 - 4.880879 - 4.558529 - 4.184909 - 3.889419 - 3.708719 - 3.623249 - 3.569519 - 3.718479 - 4.033499 - 4.412009 - 4.629349 - 4.558529 - 4.394919 - 4.180019 - 4.197119 - 4.431549 - 4.714819 - 4.961459 - 5.300899 - 5.567079 - 5.681849 - 5.545099 - 5.188569 - 4.883319 - 4.600049 - 4.270379 - 4.038389 - 3.838139 - 3.711159 - 3.591499 - 3.535329 - 3.486489 - 3.476729 - 3.425439 - 3.381489 - 3.369279 - 3.364389 - 3.347299 - 3.381489 - 3.420559 - 3.413229 - 3.452309 - 3.635459 - 4.038389 - 4.375379 - 4.727029 - 5.056699 - 5.298459 - 5.532889 - 5.466959 - 5.195899 - 4.885759 - 4.763659 - 4.875989 - 5.042049 - 5.283809 - 5.491379 - 5.596379 - 5.672089 - 5.772209 - 5.830819 - 5.933379 - 5.899189 - 5.935819 - 5.894309 - 5.918729 - 5.994429 - 5.957799 - 6.031059 - 6.062809 - 6.040829 - 6.096999 - 6.123859 - 6.162929 - 6.040829 - 5.845469 - 5.772209 - 5.799069 - 5.923609 - 5.928499 - 6.001759 - 6.001759 - 6.060369 - 5.882099 - 5.510909 - 5.322879 - 5.371719 - 5.454749 - 5.437649 - 5.159269 - 4.902859 - 4.587839 - 4.502369 - 4.595159 - 4.824709 - 5.064029 - 5.271599 - 5.466959 - 5.615919 - 5.528009 - 5.254499 - 4.883319 - 4.517019 - 4.197119 - 4.001759 - 3.806399 - 3.904079 - 3.923609 - 3.869889 - 3.806399 - 3.720929 - 3.818609 - 4.140949 - 4.529229 - 4.805179 - 5.086009 - 5.339969 - 5.532889 - 5.576849 - 5.667199 - 5.791739 - 5.850349 - 5.923609 - 5.921169 - 5.977339 - 5.740459 - 5.388809 - 5.000539 - 4.849129 - 4.944369 - 5.173919 - 5.369279 - 5.447419 - 5.603709 - 5.730689 - 5.850349 - 5.979779 - 5.991989 - 6.084789 - 5.940709 - 5.803949 - 5.791739 - 5.603709 - 5.264269 - 4.946809 - 4.619579 - 4.514579 - 4.433989 - 4.285029 - 4.121419 - 3.945589 - 3.984659 - 4.219099 - 4.546319 - 4.873549 - 5.154379 - 5.388809 - 5.613479 - 5.835699 - 5.884539 - 5.955359 - 5.762439 - 5.459629 - 5.061589 - 4.707499 - 4.458409 - 4.267939 - 4.053039 - 3.943149 - 3.825929 - 3.967569 - 4.280149 - 4.480389 - 4.492599 - 4.390039 - 4.197119 - 4.111649 - 3.982219 - 3.867449 - 3.767319 - 3.872329 - 4.236189 - 4.663539 - 4.971229 - 5.066469 - 4.902859 - 4.675749 - 4.392479 - 4.099439 - 4.114089 - 4.326539 - 4.643999 - 4.971229 - 5.159269 - 5.388809 - 5.576849 - 5.652549 - 5.803949 - 5.913839 - 5.886979 - 5.799069 - 5.730689 - 5.762439 - 5.813719 - 5.821049 - 5.928499 - 6.013969 - 5.764879 - 5.413229 - 5.098219 - 4.678189 - 4.372939 - 4.392479 - 4.590279 - 4.919949 - 5.017629 - 4.858899 - 4.675749 - 4.619579 - 4.834479 - 5.090889 - 5.376599 - 5.681849 - 5.823489 - 5.952919 - 6.062809 - 6.089669 - 6.075019 - 6.026179 - 5.994429 - 6.077459 - 5.857679 - 5.701389 - 5.730689 - 5.784419 - 5.823489 - 5.894309 - 5.762439 - 5.415679 - 4.961459 - 4.595159 - 4.331429 - 4.297239 - 4.582949 - 4.861339 - 5.173919 - 5.166589 - 4.919949 - 4.607369 - 4.370499 - 4.182469 - 4.038389 - 4.145839 - 4.431549 - 4.556089 - 4.480389 - 4.375379 - 4.370499 - 4.558529 - 4.858899 - 4.895529 - 4.741679 - 4.744129 - 4.875989 - 5.105539 - 5.239849 - 5.518239 - 5.652549 - 5.723369 - 5.855239 - 5.962679 - 5.984659 - 5.984659 - 6.055479 - 6.062809 - 6.055479 - 6.070129 - 5.784419 - 5.440099 - 5.056699 - 4.941929 - 5.010299 - 5.134849 - 5.313109 - 5.479169 - 5.623249 - 5.562199 - 5.330209 - 5.010299 - 4.665979 - 4.414459 - 4.201999 - 4.048159 - 4.079899 - 4.189789 - 4.131179 - 4.004199 - 3.916289 - 3.960239 - 4.199559 - 4.624469 - 4.883319 - 5.137289 - 5.379049 - 5.623249 - 5.762439 - 5.833259 - 5.686739 - 5.366839 - 5.225199 - 5.239849 - 5.354629 - 5.508469 - 5.596379 - 5.752669 - 5.874769 - 5.906519 - 5.894309 - 5.742899 - 5.447419 - 5.024959 - 4.883319 - 4.885759 - 4.893089 - 4.714819 - 4.451089 - 4.233749 - 4.043269 - 3.864999 - 3.757559 - 3.669639 - 3.593939 - 3.547539 - 3.506029 - 3.454749 - 3.398579 - 3.361949 - 3.339969 - 3.374159 - 3.520679 - 3.713599 - 3.757559 - 3.779529 - 3.696509 - 3.777089 - 3.886979 - 3.904079 - 3.850349 - 3.965129 - 4.282589 - 4.521899 - 4.714819 - 4.971229 - 5.220319 - 5.532889 - 5.652549 - 5.781979 - 5.955359 - 6.035939 - 6.118969 - 6.133629 - 6.153159 - 6.192229 - 6.143389 - 6.167809 - 5.991989 - 5.652549 - 5.459629 - 5.437649 - 5.339969 - 5.098219 - 4.785639 - 4.492599 - 4.236189 - 4.067689 - 3.933379 - 3.823489 - 3.730689 - 3.611039 - 3.564639 - 3.549989 - 3.557309 - 3.513359 - 3.515799 - 3.694059 - 4.072579 - 4.480389 - 4.705049 - 4.612259 - 4.385149 - 4.201999 - 4.026179 - 3.904079 - 3.774649 - 3.691619 - 3.845469 - 4.201999 - 4.585399 - 4.902859 - 5.256949 - 5.510909 - 5.640339 - 5.843029 - 5.974889 - 5.935819 - 5.821049 - 5.528009 - 5.171479 - 4.810059 - 4.453529 - 4.380269 - 4.565859 - 4.805179 - 5.125079 - 5.354629 - 5.589059 - 5.764879 - 5.923609 - 5.940709 - 5.857679 - 5.694059 - 5.486489 - 5.149499 - 4.844249 - 4.541439 - 4.267939 - 4.060369 - 3.960239 - 3.789299 - 3.642779 - 3.525569 - 3.498699 - 3.454749 - 3.408349 - 3.379049 - 3.376599 - 3.361949 - 3.359509 - 3.369279 - 3.398579 - 3.579289 - 3.948029 - 4.412009 - 4.585399 - 4.514579 - 4.343639 - 4.155599 - 3.984659 - 4.043269 - 4.307009 - 4.421779 - 4.353409 - 4.223979 - 4.053039 - 3.940709 - 3.838139 - 3.730689 - 3.652549 - 3.611039 - 3.564639 - 3.496259 - 3.462069 - 3.454749 - 3.425439 - 3.379049 - 3.432769 - 3.623249 - 3.974889 - 4.380269 - 4.714819 - 5.073799 - 5.369279 - 5.603709 - 5.745349 - 5.652549 - 5.401019 - 5.015189 - 4.709939 - 4.416899 - 4.236189 - 4.236189 - 4.248399 - 4.221539 - 4.297239 - 4.590279 - 4.893089 - 5.134849 - 5.427889 - 5.379049 - 5.364389 - 5.452309 - 5.567079 - 5.672089 - 5.769769 - 5.830819 - 5.923609 - 5.965129 - 6.057919 - 6.050599 - 6.072579 - 6.111649 - 6.070129 - 5.896749 - 5.755109 - 5.718479 - 5.821049 - 6.001759 - 6.001759 - 5.901629 - 5.557309 - 5.173919 - 4.800289 - 4.431549 - 4.194679 - 4.006639 - 3.850349 - 3.747789 - 3.642779 - 3.591499 - 3.569519 - 3.528009 - 3.537779 - 3.554869 - 3.493819 - 3.447419 - 3.440099 - 3.408349 - 3.410789 - 3.452309 - 3.681849 - 4.060369 - 4.441319 - 4.854019 - 5.154379 - 5.425439 - 5.596379 - 5.586619 - 5.354629 - 5.027399 - 4.863779 - 4.761219 - 4.570739 - 4.368059 - 4.397359 - 4.573189 - 4.841809 - 5.203219 - 5.452309 - 5.652549 - 5.855239 - 5.906519 - 5.952919 - 5.828369 - 5.791739 - 5.799069 - 5.813719 - 5.877209 - 5.955359 - 5.781979 - 5.518239 - 5.127519 - 4.763659 - 4.492599 - 4.233749 - 4.011519 - 3.855239 - 3.691619 - 3.635459 - 3.818609 - 4.155599 - 4.590279 - 4.988329 - 5.076239 - 4.907739 - 4.648889 - 4.377829 - 4.216649 - 4.287469 - 4.590279 - 4.846689 - 5.139729 - 5.388809 - 5.689179 - 5.884539 - 6.043269 - 6.170259 - 6.211769 - 6.250839 - 6.209329 - 6.013969 - 5.701389 - 5.469399 - 5.479169 - 5.557309 - 5.728249 - 5.882099 - 5.984659 - 5.901629 - 5.581729 - 5.371719 - 5.418119 - 5.510909 - 5.667199 - 5.791739 - 5.698949 - 5.484049 - 5.154379 - 4.980999 - 5.061589 - 5.195899 - 5.359509 - 5.615919 - 5.762439 - 5.857679 - 5.948029 - 5.835699 - 5.706269 - 5.498699 - 5.188569 - 5.117749 - 5.191009 - 5.315549 - 5.532889 - 5.444979 - 5.396139 - 5.274039 - 5.027399 - 4.744129 - 4.668419 - 4.651329 - 4.514579 - 4.267939 - 4.260609 - 4.263049 - 4.189789 - 4.277699 - 4.600049 - 4.932159 - 5.283809 - 5.528009 - 5.740459 - 5.874769 - 5.955359 - 5.991989 - 5.845469 - 5.528009 - 5.061589 - 4.734359 - 4.534109 - 4.534109 - 4.697729 - 4.744129 - 4.619579 - 4.643999 - 4.832039 - 5.132399 - 5.410789 - 5.625689 - 5.603709 - 5.315549 - 4.961459 - 4.619579 - 4.358289 - 4.155599 - 4.033499 - 3.886979 - 3.772209 - 3.640339 - 3.532889 - 3.435209 - 3.427889 - 3.422999 - 3.398579 - 3.603709 - 4.023729 - 4.451089 - 4.792969 - 4.902859 - 4.780759 - 4.590279 - 4.336309 - 4.145839 - 4.216649 - 4.433989 - 4.714819 - 5.098219 - 5.359509 - 5.569519 - 5.772209 - 5.921169 - 6.055479 - 5.962679 - 5.642779 - 5.435209 - 5.388809 - 5.537779 - 5.681849 - 5.701389 - 5.615919 - 5.667199 - 5.740459 - 5.803949 - 5.882099 - 5.950469 - 6.072579 - 6.148279 - 6.116529 - 6.177579 - 6.201999 - 6.206889 - 5.991989 - 5.564639 - 5.178799 - 4.998089 - 5.051819 - 5.232529 - 5.484049 - 5.686739 - 5.899189 - 5.869889 - 5.977339 - 6.053039 - 6.079899 - 6.128739 - 6.079899 - 6.167809 - 6.194679 - 6.236189 - 6.053039 - 5.652549 - 5.274039 - 4.858899 - 4.534109 - 4.455969 - 4.619579 - 4.866229 - 5.117749 - 5.166589 - 5.056699 - 5.002979 - 5.098219 - 5.325319 - 5.567079 - 5.466959 - 5.252059 - 4.946809 - 4.880879 - 4.980999 - 5.225199 - 5.459629 - 5.723369 - 5.791739 - 5.906519 - 5.991989 - 5.835699 - 5.528009 - 5.142169 - 4.775869 - 4.490159 - 4.236189 - 4.023729 - 3.886979 - 3.752669 - 3.681849 - 3.806399 - 4.145839 - 4.600049 - 5.002979 - 5.303339 - 5.552429 - 5.615919 - 5.523119 - 5.611039 - 5.713599 - 5.845469 - 5.899189 - 5.994429 - 6.092109 - 6.092109 - 6.143389 - 6.153159 - 6.233749 - 6.187349 - 6.013969 - 5.835699 - 5.774649 - 5.686739 - 5.537779 - 5.327759 - 5.054259 - 4.700169 - 4.394919 - 4.180019 - 4.043269 - 3.877209 - 3.752669 - 3.728249 - 3.869889 - 4.206889 - 4.355849 - 4.426669 - 4.453529 - 4.521899 - 4.392479 - 4.155599 - 3.965129 - 3.877209 - 3.970009 - 4.258169 - 4.421779 - 4.336309 - 4.299679 - 4.392479 - 4.675749 - 4.761219 - 4.658659 - 4.490159 - 4.307009 - 4.126299 - 3.972449 - 4.077459 - 4.372939 - 4.741679 - 5.088449 - 5.186129 - 5.037169 - 4.785639 - 4.563419 - 4.534109 - 4.705049 - 4.741679 - 4.648889 - 4.431549 - 4.238629 - 4.065249 - 3.943149 - 3.811279 - 3.691619 - 3.652549 - 3.825929 - 4.223979 - 4.424219 - 4.429109 - 4.319219 - 4.138509 - 3.965129 - 3.886979 - 3.801509 - 3.701389 - 3.640339 - 3.767319 - 4.150719 - 4.648889 - 4.990769 - 5.088449 - 5.022509 - 4.783199 - 4.685519 - 4.665979 - 4.707499 - 4.912619 - 5.195899 - 5.415679 - 5.623249 - 5.740459 - 5.899189 - 5.928499 - 6.050599 - 6.153159 - 5.965129 - 5.586619 - 5.381489 - 5.371719 - 5.486489 - 5.567079 - 5.821049 - 5.913839 - 5.994429 - 6.011519 - 5.999309 - 6.018849 - 5.821049 - 5.728249 - 5.740459 - 5.764879 - 5.882099 - 5.926049 - 5.750229 - 5.415679 - 4.995649 - 4.861339 - 4.902859 - 5.103099 - 5.364389 - 5.596379 - 5.752669 - 5.845469 - 5.928499 - 6.006639 - 5.840579 - 5.518239 - 5.173919 - 4.739239 - 4.458409 - 4.426669 - 4.602489 - 4.822269 - 5.183689 - 5.430329 - 5.652549 - 5.821049 - 5.706269 - 5.369279 - 5.027399 - 4.705049 - 4.414459 - 4.145839 - 3.965129 - 4.033499 - 4.372939 - 4.683079 -]; - -dat = iddata (Y, U) - -% IB01AD EXAMPLE PROGRAM DATA -% 15 0 1 1 1000 0.0 -1.0 M C N O N N -% nobr, n, m, l, nsmp, rcond, tol, meth, alg, jobd, batch,conct,ctrl - -nobr = 15; -meth = 0; -alg = 0; -jobd = 1; -batch = 3; -conct = 1; -ctrl = 1; -rcond = 0.0; -tol = -1.0; - -[n, r, sv] = slib01ad (Y, U, nobr, meth, alg, jobd, batch, conct, ctrl, rcond, tol); - -n -sv - -%{ - IB01AD EXAMPLE PROGRAM RESULTS - - The order of the system is 4 - The singular values are - 69.8841 14.9963 3.6675 1.9677 0.3000 0.2078 0.1651 0.1373 - 0.1133 0.1059 0.0856 0.0784 0.0733 0.0678 0.0571 -%} Deleted: trunk/octave-forge/extra/control-devel/devel/ident.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/ident.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/ident.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,56 +0,0 @@ -function [sys, x0] = ident (dat, s = [], n = []) - - - - %nobr = 15; - meth = 2; % 2 % geht: meth/alg 1/1, - alg = 0; % 0 % geht nicht: meth/alg 0/1 - conct = 1; - ctrl = 0; %1; - rcond = 0.0; - tol = -1.0; % 0; - - [ns, l, m, e] = size (dat); - - if (isempty (s) && isempty (n)) - nsmp = ns(1); - nobr = fix ((nsmp+1)/(2*(m+l+1))); - ctrl = 0; # confirm system order estimate - n = 0; - % nsmp >= 2*(m+l+1)*nobr - 1 - % nobr <= (nsmp+1)/(2*(m+l+1)) - elseif (isempty (s)) - s = min (2*n, n+10); - nsmp = ns(1); - nobr = fix ((nsmp+1)/(2*(m+l+1))); - nobr = min (nobr, s); - ctrl = 1; # no confirmation - elseif (isempty (n)) - nobr = s; - ctrl = 0; # confirm system order estimate - n = 0; - else # s & n non-empty - nsmp = ns(1); - nobr = fix ((nsmp+1)/(2*(m+l+1))); - if (s > nobr) - warning ("ident: s > nobr"); - endif - nobr = s; - ctrl = 1; - ## TODO: specify n for IB01BD - endif - - %nsmp = ns(1) - %nobr = fix ((nsmp+1)/(2*(m+l+1))) - % nsmp >= 2*(m+l+1)*nobr - 1 - % nobr <= (nsmp+1)/(2*(m+l+1)) -%nobr = 10 - [a, b, c, d, q, ry, s, k, x0] = slident (dat.y, dat.u, nobr, n, meth, alg, conct, ctrl, rcond, tol); - - sys = ss (a, b, c, d, dat.tsam{1}); - - if (numel (x0) == 1) - x0 = x0{1}; - endif - -endfunction Deleted: trunk/octave-forge/extra/control-devel/devel/ident_a.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/ident_a.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/ident_a.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,61 +0,0 @@ -function [sys, x0] = ident_a (dat, s = [], nn = []) - -n=nn; - - %nobr = 15; - meth = 2; % 2 % geht: meth/alg 1/1, - alg = 0; % 0 % geht nicht: meth/alg 0/1 - jobd = 1; - batch = 3; - conct = 1; - ctrl = 0; %1; - rcond = 0.0; - tol = -1.0; % 0; - - [ns, l, m, e] = size (dat); - - if (isempty (s) && isempty (n)) - nsmp = ns(1); - nobr = fix ((nsmp+1)/(2*(m+l+1))); - ctrl = 0; # confirm system order estimate - n = 0; - % nsmp >= 2*(m+l+1)*nobr - 1 - % nobr <= (nsmp+1)/(2*(m+l+1)) - elseif (isempty (s)) - s = min (2*n, n+10); - nsmp = ns(1); - nobr = fix ((nsmp+1)/(2*(m+l+1))); - nobr = min (nobr, s); - ctrl = 1; # no confirmation - elseif (isempty (n)) - nobr = s; - ctrl = 0; # confirm system order estimate - n = 0; - else # s & n non-empty - nsmp = ns(1); - nobr = fix ((nsmp+1)/(2*(m+l+1))); - if (s > nobr) - error ("ident: s > nobr"); - endif - nobr = s; - ctrl = 1; - ## TODO: specify n for IB01BD - endif - - %nsmp = ns(1) - %nobr = fix ((nsmp+1)/(2*(m+l+1))) - % nsmp >= 2*(m+l+1)*nobr - 1 - % nobr <= (nsmp+1)/(2*(m+l+1)) -%nobr = 10 - [r, sv, n] = slident_a (dat.y{1}, dat.u{1}, nobr, n, meth, alg, jobd, batch, conct, ctrl, rcond, tol); -n -n = nn; - [a, b, c, d, q, ry, s, k] = slident_b (dat.y{1}, dat.u{1}, nobr, n, meth, alg, jobd, batch, conct, ctrl, rcond, tol, \ - r, sv, n); - - x0 = slident_c (dat.y{1}, dat.u{1}, nobr, n, meth, alg, jobd, batch, conct, ctrl, rcond, tol, \ - a, b, c, d); - - sys = ss (a, b, c, d, -1); - -endfunction Deleted: trunk/octave-forge/extra/control-devel/devel/identtest.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/identtest.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/identtest.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,5 +0,0 @@ -function [r, sv, n] = identtest (dat, s = [], n = [], ldwork) - - [r, sv, n] = slitest (dat.y{1}, dat.u{1}, s, ldwork); - -endfunction Deleted: trunk/octave-forge/extra/control-devel/devel/overview.txt =================================================================== --- trunk/octave-forge/extra/control-devel/devel/overview.txt 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/overview.txt 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,10 +0,0 @@ -Working -- CDplayer -- Evaporator -- GlassFurnace -- HeatingSystem - -Broken -- Destillation -- PowerPlant -- pH \ No newline at end of file Deleted: trunk/octave-forge/extra/control-devel/devel/test_slident.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/test_slident.m 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/devel/test_slident.m 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,2158 +0,0 @@ -% IB01AD EXAMPLE PROGRAM DATA -% 15 0 1 1 1000 0.0 -1.0 M C N O N N -% nobr, n, m, l, nsmp, rcond, tol, meth, alg, jobd, batch,conct,ctrl - -% IB01BD EXAMPLE PROGRAM DATA -% 15 0 1 1 1000 0.0 -1.0 C C N O N N A K - - -U = [ - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 3.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 - 6.41 -]; - -Y = [ - 4.766099 - 4.763659 - 4.839359 - 5.002979 - 5.017629 - 5.056699 - 5.154379 - 5.361949 - 5.425439 - 5.569519 - 5.681849 - 5.742899 - 5.803949 - 5.918729 - 5.821049 - 5.447419 - 5.061589 - 4.629349 - 4.267939 - 4.011519 - 3.850349 - 3.711159 - 3.569519 - 3.518239 - 3.652549 - 3.818609 - 3.862559 - 4.011519 - 4.353409 - 4.705049 - 5.083559 - 5.344859 - 5.274039 - 5.127519 - 4.761219 - 4.451089 - 4.221539 - 4.045709 - 3.874769 - 3.730689 - 3.662319 - 3.576849 - 3.542659 - 3.479169 - 3.454749 - 3.359509 - 3.298459 - 3.225199 - 3.200779 - 3.225199 - 3.227639 - 3.274039 - 3.457189 - 3.867449 - 4.321659 - 4.492599 - 4.431549 - 4.243519 - 4.050599 - 3.857679 - 3.730689 - 3.791739 - 3.921169 - 3.955359 - 3.847909 - 3.725809 - 3.611039 - 3.716039 - 4.092109 - 4.480389 - 4.814939 - 5.054259 - 5.303339 - 5.486489 - 5.672089 - 5.779529 - 5.799069 - 5.664759 - 5.291129 - 4.880879 - 4.558529 - 4.184909 - 3.889419 - 3.708719 - 3.623249 - 3.569519 - 3.718479 - 4.033499 - 4.412009 - 4.629349 - 4.558529 - 4.394919 - 4.180019 - 4.197119 - 4.431549 - 4.714819 - 4.961459 - 5.300899 - 5.567079 - 5.681849 - 5.545099 - 5.188569 - 4.883319 - 4.600049 - 4.270379 - 4.038389 - 3.838139 - 3.711159 - 3.591499 - 3.535329 - 3.486489 - 3.476729 - 3.425439 - 3.381489 - 3.369279 - 3.364389 - 3.347299 - 3.381489 - 3.420559 - 3.413229 - 3.452309 - 3.635459 - 4.038389 - 4.375379 - 4.727029 - 5.056699 - 5.298459 - 5.532889 - 5.466959 - 5.195899 - 4.885759 - 4.763659 - 4.875989 - 5.042049 - 5.283809 - 5.491379 - 5.596379 - 5.672089 - 5.772209 - 5.830819 - 5.933379 - 5.899189 - 5.935819 - 5.894309 - 5.918729 - 5.994429 - 5.957799 - 6.031059 - 6.062809 - 6.040829 - 6.096999 - 6.123859 - 6.162929 - 6.040829 - 5.845469 - 5.772209 - 5.799069 - 5.923609 - 5.928499 - 6.001759 - 6.001759 - 6.060369 - 5.882099 - 5.510909 - 5.322879 - 5.371719 - 5.454749 - 5.437649 - 5.159269 - 4.902859 - 4.587839 - 4.502369 - 4.595159 - 4.824709 - 5.064029 - 5.271599 - 5.466959 - 5.615919 - 5.528009 - 5.254499 - 4.883319 - 4.517019 - 4.197119 - 4.001759 - 3.806399 - 3.904079 - 3.923609 - 3.869889 - 3.806399 - 3.720929 - 3.818609 - 4.140949 - 4.529229 - 4.805179 - 5.086009 - 5.339969 - 5.532889 - 5.576849 - 5.667199 - 5.791739 - 5.850349 - 5.923609 - 5.921169 - 5.977339 - 5.740459 - 5.388809 - 5.000539 - 4.849129 - 4.944369 - 5.173919 - 5.369279 - 5.447419 - 5.603709 - 5.730689 - 5.850349 - 5.979779 - 5.991989 - 6.084789 - 5.940709 - 5.803949 - 5.791739 - 5.603709 - 5.264269 - 4.946809 - 4.619579 - 4.514579 - 4.433989 - 4.285029 - 4.121419 - 3.945589 - 3.984659 - 4.219099 - 4.546319 - 4.873549 - 5.154379 - 5.388809 - 5.613479 - 5.835699 - 5.884539 - 5.955359 - 5.762439 - 5.459629 - 5.061589 - 4.707499 - 4.458409 - 4.267939 - 4.053039 - 3.943149 - 3.825929 - 3.967569 - 4.280149 - 4.480389 - 4.492599 - 4.390039 - 4.197119 - 4.111649 - 3.982219 - 3.867449 - 3.767319 - 3.872329 - 4.236189 - 4.663539 - 4.971229 - 5.066469 - 4.902859 - 4.675749 - 4.392479 - 4.099439 - 4.114089 - 4.326539 - 4.643999 - 4.971229 - 5.159269 - 5.388809 - 5.576849 - 5.652549 - 5.803949 - 5.913839 - 5.886979 - 5.799069 - 5.730689 - 5.762439 - 5.813719 - 5.821049 - 5.928499 - 6.013969 - 5.764879 - 5.413229 - 5.098219 - 4.678189 - 4.372939 - 4.392479 - 4.590279 - 4.919949 - 5.017629 - 4.858899 - 4.675749 - 4.619579 - 4.834479 - 5.090889 - 5.376599 - 5.681849 - 5.823489 - 5.952919 - 6.062809 - 6.089669 - 6.075019 - 6.026179 - 5.994429 - 6.077459 - 5.857679 - 5.701389 - 5.730689 - 5.784419 - 5.823489 - 5.894309 - 5.762439 - 5.415679 - 4.961459 - 4.595159 - 4.331429 - 4.297239 - 4.582949 - 4.861339 - 5.173919 - 5.166589 - 4.919949 - 4.607369 - 4.370499 - 4.182469 - 4.038389 - 4.145839 - 4.431549 - 4.556089 - 4.480389 - 4.375379 - 4.370499 - 4.558529 - 4.858899 - 4.895529 - 4.741679 - 4.744129 - 4.875989 - 5.105539 - 5.239849 - 5.518239 - 5.652549 - 5.723369 - 5.855239 - 5.962679 - 5.984659 - 5.984659 - 6.055479 - 6.062809 - 6.055479 - 6.070129 - 5.784419 - 5.440099 - 5.056699 - 4.941929 - 5.010299 - 5.134849 - 5.313109 - 5.479169 - 5.623249 - 5.562199 - 5.330209 - 5.010299 - 4.665979 - 4.414459 - 4.201999 - 4.048159 - 4.079899 - 4.189789 - 4.131179 - 4.004199 - 3.916289 - 3.960239 - 4.199559 - 4.624469 - 4.883319 - 5.137289 - 5.379049 - 5.623249 - 5.762439 - 5.833259 - 5.686739 - 5.366839 - 5.225199 - 5.239849 - 5.354629 - 5.508469 - 5.596379 - 5.752669 - 5.874769 - 5.906519 - 5.894309 - 5.742899 - 5.447419 - 5.024959 - 4.883319 - 4.885759 - 4.893089 - 4.714819 - 4.451089 - 4.233749 - 4.043269 - 3.864999 - 3.757559 - 3.669639 - 3.593939 - 3.547539 - 3.506029 - 3.454749 - 3.398579 - 3.361949 - 3.339969 - 3.374159 - 3.520679 - 3.713599 - 3.757559 - 3.779529 - 3.696509 - 3.777089 - 3.886979 - 3.904079 - 3.850349 - 3.965129 - 4.282589 - 4.521899 - 4.714819 - 4.971229 - 5.220319 - 5.532889 - 5.652549 - 5.781979 - 5.955359 - 6.035939 - 6.118969 - 6.133629 - 6.153159 - 6.192229 - 6.143389 - 6.167809 - 5.991989 - 5.652549 - 5.459629 - 5.437649 - 5.339969 - 5.098219 - 4.785639 - 4.492599 - 4.236189 - 4.067689 - 3.933379 - 3.823489 - 3.730689 - 3.611039 - 3.564639 - 3.549989 - 3.557309 - 3.513359 - 3.515799 - 3.694059 - 4.072579 - 4.480389 - 4.705049 - 4.612259 - 4.385149 - 4.201999 - 4.026179 - 3.904079 - 3.774649 - 3.691619 - 3.845469 - 4.201999 - 4.585399 - 4.902859 - 5.256949 - 5.510909 - 5.640339 - 5.843029 - 5.974889 - 5.935819 - 5.821049 - 5.528009 - 5.171479 - 4.810059 - 4.453529 - 4.380269 - 4.565859 - 4.805179 - 5.125079 - 5.354629 - 5.589059 - 5.764879 - 5.923609 - 5.940709 - 5.857679 - 5.694059 - 5.486489 - 5.149499 - 4.844249 - 4.541439 - 4.267939 - 4.060369 - 3.960239 - 3.789299 - 3.642779 - 3.525569 - 3.498699 - 3.454749 - 3.408349 - 3.379049 - 3.376599 - 3.361949 - 3.359509 - 3.369279 - 3.398579 - 3.579289 - 3.948029 - 4.412009 - 4.585399 - 4.514579 - 4.343639 - 4.155599 - 3.984659 - 4.043269 - 4.307009 - 4.421779 - 4.353409 - 4.223979 - 4.053039 - 3.940709 - 3.838139 - 3.730689 - 3.652549 - 3.611039 - 3.564639 - 3.496259 - 3.462069 - 3.454749 - 3.425439 - 3.379049 - 3.432769 - 3.623249 - 3.974889 - 4.380269 - 4.714819 - 5.073799 - 5.369279 - 5.603709 - 5.745349 - 5.652549 - 5.401019 - 5.015189 - 4.709939 - 4.416899 - 4.236189 - 4.236189 - 4.248399 - 4.221539 - 4.297239 - 4.590279 - 4.893089 - 5.134849 - 5.427889 - 5.379049 - 5.364389 - 5.452309 - 5.567079 - 5.672089 - 5.769769 - 5.830819 - 5.923609 - 5.965129 - 6.057919 - 6.050599 - 6.072579 - 6.111649 - 6.070129 - 5.896749 - 5.755109 - 5.718479 - 5.821049 - 6.001759 - 6.001759 - 5.901629 - 5.557309 - 5.173919 - 4.800289 - 4.431549 - 4.194679 - 4.006639 - 3.850349 - 3.747789 - 3.642779 - 3.591499 - 3.569519 - 3.528009 - 3.537779 - 3.554869 - 3.493819 - 3.447419 - 3.440099 - 3.408349 - 3.410789 - 3.452309 - 3.681849 - 4.060369 - 4.441319 - 4.854019 - 5.154379 - 5.425439 - 5.596379 - 5.586619 - 5.354629 - 5.027399 - 4.863779 - 4.761219 - 4.570739 - 4.368059 - 4.397359 - 4.573189 - 4.841809 - 5.203219 - 5.452309 - 5.652549 - 5.855239 - 5.906519 - 5.952919 - 5.828369 - 5.791739 - 5.799069 - 5.813719 - 5.877209 - 5.955359 - 5.781979 - 5.518239 - 5.127519 - 4.763659 - 4.492599 - 4.233749 - 4.011519 - 3.855239 - 3.691619 - 3.635459 - 3.818609 - 4.155599 - 4.590279 - 4.988329 - 5.076239 - 4.907739 - 4.648889 - 4.377829 - 4.216649 - 4.287469 - 4.590279 - 4.846689 - 5.139729 - 5.388809 - 5.689179 - 5.884539 - 6.043269 - 6.170259 - 6.211769 - 6.250839 - 6.209329 - 6.013969 - 5.701389 - 5.469399 - 5.479169 - 5.557309 - 5.728249 - 5.882099 - 5.984659 - 5.901629 - 5.581729 - 5.371719 - 5.418119 - 5.510909 - 5.667199 - 5.791739 - 5.698949 - 5.484049 - 5.154379 - 4.980999 - 5.061589 - 5.195899 - 5.359509 - 5.615919 - 5.762439 - 5.857679 - 5.948029 - 5.835699 - 5.706269 - 5.498699 - 5.188569 - 5.117749 - 5.191009 - 5.315549 - 5.532889 - 5.444979 - 5.396139 - 5.274039 - 5.027399 - 4.744129 - 4.668419 - 4.651329 - 4.514579 - 4.267939 - 4.260609 - 4.263049 - 4.189789 - 4.277699 - 4.600049 - 4.932159 - 5.283809 - 5.528009 - 5.740459 - 5.874769 - 5.955359 - 5.991989 - 5.845469 - 5.528009 - 5.061589 - 4.734359 - 4.534109 - 4.534109 - 4.697729 - 4.744129 - 4.619579 - 4.643999 - 4.832039 - 5.132399 - 5.410789 - 5.625689 - 5.603709 - 5.315549 - 4.961459 - 4.619579 - 4.358289 - 4.155599 - 4.033499 - 3.886979 - 3.772209 - 3.640339 - 3.532889 - 3.435209 - 3.427889 - 3.422999 - 3.398579 - 3.603709 - 4.023729 - 4.451089 - 4.792969 - 4.902859 - 4.780759 - 4.590279 - 4.336309 - 4.145839 - 4.216649 - 4.433989 - 4.714819 - 5.098219 - 5.359509 - 5.569519 - 5.772209 - 5.921169 - 6.055479 - 5.962679 - 5.642779 - 5.435209 - 5.388809 - 5.537779 - 5.681849 - 5.701389 - 5.615919 - 5.667199 - 5.740459 - 5.803949 - 5.882099 - 5.950469 - 6.072579 - 6.148279 - 6.116529 - 6.177579 - 6.201999 - 6.206889 - 5.991989 - 5.564639 - 5.178799 - 4.998089 - 5.051819 - 5.232529 - 5.484049 - 5.686739 - 5.899189 - 5.869889 - 5.977339 - 6.053039 - 6.079899 - 6.128739 - 6.079899 - 6.167809 - 6.194679 - 6.236189 - 6.053039 - 5.652549 - 5.274039 - 4.858899 - 4.534109 - 4.455969 - 4.619579 - 4.866229 - 5.117749 - 5.166589 - 5.056699 - 5.002979 - 5.098219 - 5.325319 - 5.567079 - 5.466959 - 5.252059 - 4.946809 - 4.880879 - 4.980999 - 5.225199 - 5.459629 - 5.723369 - 5.791739 - 5.906519 - 5.991989 - 5.835699 - 5.528009 - 5.142169 - 4.775869 - 4.490159 - 4.236189 - 4.023729 - 3.886979 - 3.752669 - 3.681849 - 3.806399 - 4.145839 - 4.600049 - 5.002979 - 5.303339 - 5.552429 - 5.615919 - 5.523119 - 5.611039 - 5.713599 - 5.845469 - 5.899189 - 5.994429 - 6.092109 - 6.092109 - 6.143389 - 6.153159 - 6.233749 - 6.187349 - 6.013969 - 5.835699 - 5.774649 - 5.686739 - 5.537779 - 5.327759 - 5.054259 - 4.700169 - 4.394919 - 4.180019 - 4.043269 - 3.877209 - 3.752669 - 3.728249 - 3.869889 - 4.206889 - 4.355849 - 4.426669 - 4.453529 - 4.521899 - 4.392479 - 4.155599 - 3.965129 - 3.877209 - 3.970009 - 4.258169 - 4.421779 - 4.336309 - 4.299679 - 4.392479 - 4.675749 - 4.761219 - 4.658659 - 4.490159 - 4.307009 - 4.126299 - 3.972449 - 4.077459 - 4.372939 - 4.741679 - 5.088449 - 5.186129 - 5.037169 - 4.785639 - 4.563419 - 4.534109 - 4.705049 - 4.741679 - 4.648889 - 4.431549 - 4.238629 - 4.065249 - 3.943149 - 3.811279 - 3.691619 - 3.652549 - 3.825929 - 4.223979 - 4.424219 - 4.429109 - 4.319219 - 4.138509 - 3.965129 - 3.886979 - 3.801509 - 3.701389 - 3.640339 - 3.767319 - 4.150719 - 4.648889 - 4.990769 - 5.088449 - 5.022509 - 4.783199 - 4.685519 - 4.665979 - 4.707499 - 4.912619 - 5.195899 - 5.415679 - 5.623249 - 5.740459 - 5.899189 - 5.928499 - 6.050599 - 6.153159 - 5.965129 - 5.586619 - 5.381489 - 5.371719 - 5.486489 - 5.567079 - 5.821049 - 5.913839 - 5.994429 - 6.011519 - 5.999309 - 6.018849 - 5.821049 - 5.728249 - 5.740459 - 5.764879 - 5.882099 - 5.926049 - 5.750229 - 5.415679 - 4.995649 - 4.861339 - 4.902859 - 5.103099 - 5.364389 - 5.596379 - 5.752669 - 5.845469 - 5.928499 - 6.006639 - 5.840579 - 5.518239 - 5.173919 - 4.739239 - 4.458409 - 4.426669 - 4.602489 - 4.822269 - 5.183689 - 5.430329 - 5.652549 - 5.821049 - 5.706269 - 5.369279 - 5.027399 - 4.705049 - 4.414459 - 4.145839 - 3.965129 - 4.033499 - 4.372939 - 4.683079 -]; - -dat = iddata (Y, U) - -% IB01AD EXAMPLE PROGRAM DATA -% 15 0 1 1 1000 0.0 -1.0 M C N O N N -% nobr, n, m, l, nsmp, rcond, tol, meth, alg, jobd, batch,conct,ctrl - -% IB01BD EXAMPLE PROGRAM DATA -% 15 0 1 1 1000 0.0 -1.0 C C N O N N A K - -nobr = 15; -meth = 2; -alg = 0; -jobd = 1; -batch = 3; -conct = 1; -ctrl = 1; -rcond = 0.0; -tol = -1.0; -n = 0; - -% [a, b, c, d, q, ry, s, k, x0] = slident (Y, U, nobr, n, meth, alg, jobd, batch, conct, ctrl, rcond, tol) -[a, b, c, d, q, ry, s, k, x0] = slident (dat.Y, dat.U, nobr, n, meth, alg, conct, ctrl, rcond, tol) - - -ae = [ 0.8924 0.3887 0.1285 0.1716 - -0.0837 0.6186 -0.6273 -0.4582 - 0.0052 0.1307 0.6685 -0.6755 - 0.0055 0.0734 -0.2148 0.4788 ]; - -ce = [ -0.4442 0.6663 0.3961 0.4102 ]; - -be = [ -0.2142 - -0.1968 - 0.0525 - 0.0361 ]; - -de = [ -0.0041 ]; - -ke = [ -1.9513 - -0.1867 - 0.6348 - -0.3486 ]; - -qe = [ 0.0052 0.0005 -0.0017 0.0009 - 0.0005 0.0000 -0.0002 0.0001 - -0.0017 -0.0002 0.0006 -0.0003 - 0.0009 0.0001 -0.0003 0.0002 ]; - -rye = [ 0.0012 ]; - -se = [ -0.0025 - -0.0002 - 0.0008 - -0.0005 ]; - -assert (a, ae, 1e-4); -assert (b, be, 1e-4); -assert (c, ce, 1e-4); -assert (d, de, 1e-4); -assert (k, ke, 1e-4); -assert (q, qe, 1e-4); -assert (ry, rye, 1e-4); -assert (s, se, 1e-4); - - - - -% figure (1) -% plot (Y) - -P = ss (a, b, c, d, 1); - -% figure (2) -% lsim (P, U) -% lsim (P, U, [], x0) % initial values dependent on realization, IB01BD != IB01CD - - -% [y, t] = lsim (P, U); -[y, t] = lsim (P, U, [], x0{1}); - -err = norm (Y - y, 1) / norm (Y, 1) - -figure (3) -plot (t, Y, 'b', t, y, 'r') -legend ('y measured', 'y simulated', 'location', 'southeast') -%axis tight - -% print -depsc2 ident.eps - -%n -%sv - -%{ - IB01AD EXAMPLE PROGRAM RESULTS - - The order of the system is 4 - The singular values are - 69.8841 14.9963 3.6675 1.9677 0.3000 0.2078 0.1651 0.1373 - 0.1133 0.1059 0.0856 0.0784 0.0733 0.0678 0.0571 - - - IB01BD EXAMPLE PROGRAM RESULTS - - - The system state matrix A is - 0.8924 0.3887 0.1285 0.1716 - -0.0837 0.6186 -0.6273 -0.4582 - 0.0052 0.1307 0.6685 -0.6755 - 0.0055 0.0734 -0.2148 0.4788 - - The system output matrix C is - -0.4442 0.6663 0.3961 0.4102 - - The system input matrix B is - -0.2142 - -0.1968 - 0.0525 - 0.0361 - - The system input-output matrix D is - -0.0041 - - The Kalman gain matrix K is - -1.9513 - -0.1867 - 0.6348 - -0.3486 - - The state covariance matrix Q is - 0.0052 0.0005 -0.0017 0.0009 - 0.0005 0.0000 -0.0002 0.0001 - -0.0017 -0.0002 0.0006 -0.0003 - 0.0009 0.0001 -0.0003 0.0002 - - The output covariance matrix Ry is - 0.0012 - - The state-output cross-covariance matrix S is - -0.0025 - -0.0002 - 0.0008 - -0.0005 - -%} Modified: trunk/octave-forge/extra/control-devel/src/devel_slicot_functions.cc =================================================================== --- trunk/octave-forge/extra/control-devel/src/devel_slicot_functions.cc 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/src/devel_slicot_functions.cc 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,7 +1,7 @@ // #include "slib01ad.cc" // preprocess the input-output data #include "slident.cc" // system identification #include "slib01cd.cc" // compute initial state vector -// #include "slitest.cc" // debug system identification + #include "slident_a.cc" #include "slident_b.cc" #include "slident_c.cc" \ No newline at end of file Deleted: trunk/octave-forge/extra/control-devel/src/slib01ad.cc =================================================================== --- trunk/octave-forge/extra/control-devel/src/slib01ad.cc 2012-05-23 14:20:14 UTC (rev 10505) +++ trunk/octave-forge/extra/control-devel/src/slib01ad.cc 2012-05-23 17:31:49 UTC (rev 10506) @@ -1,367 +0,0 @@ -/* - -Copyright (C) 2012 Lukas F. Reichlin - -This file is part of LTI Syncope. - -LTI Syncope is free software: you can redistribute it and/or modify -it under the terms of the GNU General Public License as published by -the Free Software Foundation, either version 3 of the License, or -(at your option) any later version. - -LTI Syncope is distributed in the hope that it will be useful, -bu... [truncated message content] |
From: <jpi...@us...> - 2012-05-23 14:20:24
|
Revision: 10505 http://octave.svn.sourceforge.net/octave/?rev=10505&view=rev Author: jpicarbajal Date: 2012-05-23 14:20:14 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files and script to print builtins Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 14:15:48 UTC (rev 10504) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 14:20:14 UTC (rev 10505) @@ -502,4 +502,5 @@ ) ) ); + ?> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-23 14:15:55
|
Revision: 10504 http://octave.svn.sourceforge.net/octave/?rev=10504&view=rev Author: jpicarbajal Date: 2012-05-23 14:15:48 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files and script to print builtins Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Added Paths: ----------- trunk/octave-forge/admin/langfiles/printAllBuiltins.m Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 12:34:26 UTC (rev 10503) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 14:15:48 UTC (rev 10504) @@ -47,351 +47,346 @@ //Octave Strings 'COMMENT_REGEXP' => array( 2 => "/(?<![\\w\\)\\]\\}\\.])('[^\\n']*?')/" - ), + ), 'CASE_KEYWORDS' => GESHI_CAPS_NO_CHANGE, 'QUOTEMARKS' => array('"',"'"), 'ESCAPE_CHAR' => '', 'KEYWORDS' => array( - // Data types - 1 => array( - 'cell', 'char ', 'double ', 'uint8', 'uint16', 'uint32', 'uint64', - 'int8','int16', 'int32', 'int64', 'logical ', 'single ', 'struct ' - ), - // Storage type - 2 => array( - 'global ', 'persistent ', 'static ' - ), - // Internal variables - 3 => array('ans'), - // Reserved words - 4 => array( - 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', - 'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction', - 'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function', - 'global', 'if', 'otherwise', 'parfor', 'persistent', 'return', - 'static', 'switch', 'try', 'until', 'unwind_protect', - 'unwind_protect_cleanup', 'varargin', 'varargout', 'while' - ), - // Built in - 5 => array( - 'Inf', 'NaN', 'P_tmpdir', 'abs', 'acos', 'acosh', - 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', - 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', - 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', - 'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits', - 'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor', - 'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil', - 'cell', 'cell2struct', 'cellstr', 'char', 'chdir', 'class', 'clc', - 'clear', 'columns', 'command_line_path', 'completion_append_char', - 'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj', - 'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose', - 'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext', - 'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup', - 'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning', - 'default_save_options', 'dellistener', 'diag', 'diary', 'diff', - 'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes', - 'doc_cache_file', 'double', 'drawnow', 'dup2', 'e', 'echo', - 'echo_executing_commands', 'edit_history', 'eps', 'eq', 'erf', 'erfc', - 'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin', - 'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'false', 'fclear', - 'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush', - 'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path', - 'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix', - 'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork', - 'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport', - 'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str', - 'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get', - 'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv', - 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', - 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', - 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', - 'hypot', 'i', 'ifelse', 'ignore_function_time_stamp', 'imag', 'inf', - 'inferiorto', 'info_file', 'info_program', 'inline', 'input', 'int16', - 'int32', 'int64', 'int8', 'intmax', 'intmin', 'ipermute', - 'is_absolute_filename', 'is_dq_string', 'is_function_handle', - 'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha', - 'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar', - 'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty', - 'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle', - 'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical', - 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', - 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', - 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', - 'j', 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', - 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', - 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', - 'log1p', 'log2', 'logical', 'lower', 'lstat', 'lt', - 'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth', - 'merge', 'methods', 'mfilename', 'minus', 'mislocked', - 'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide', - 'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock', - 'nan', 'nargin', 'nargout', 'native_float_format', 'ndims', 'ne', - 'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax', - 'octave_config_info', 'octave_core_file_limit', - 'octave_core_file_name', 'octave_core_file_options', - 'octave_tmp_file_name', 'onCleanup', 'ones', - 'optimize_subsasgn_calls', 'or', 'output_max_field_width', - 'output_precision', 'page_output_immediately', 'page_screen_output', - 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pi', 'pipe', 'plus', - 'popen', 'popen2', 'power', 'print_empty_dimensions', - 'print_struct_array_contents', 'printf', 'prod', - 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', - 'quit', 'rats', 'rdivide', 're_read_readline_init_file', - 'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax', - 'realmin', 'register_graphics_toolkit', 'rehash', 'rem', - 'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape', - 'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield', - 'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save', - 'save_header_format_string', 'save_precision', 'saving_history', - 'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign', - 'sigterm_dumps_octave_core', 'silent_functions', 'sin', 'single', - 'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort', - 'source', 'spalloc', 'sparse', 'sparse_auto_mutate', - 'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat', - 'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi', - 'string_fill_char', 'strncmp', 'strncmpi', 'struct', 'struct2cell', - 'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum', - 'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink', - 'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand', - 'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper', - 'transpose', 'true', 'typeinfo', 'uint16', 'uint32', 'uint64', - 'uint8', 'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink', - 'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat', - 'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos', - 'whos_line_format', 'yes_or_no', 'zeros' - ), - // Octave functions - 6 => array( - 'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc', - 'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd', - 'ancestor', 'anova', 'ans', 'arch_fit', 'arch_rnd', 'arch_test', - 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind', - 'assert', 'atand', 'autocor', 'autocov', 'autoreg_matrix', 'autumn', - 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test', - 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', 'betai', - 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', - 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', - 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', - 'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', - 'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph', - 'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', - 'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun', 'cellidx', - 'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd', - 'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol', - 'chop', 'circshift', 'cla', 'clabel', 'clf', 'clg', 'clock', - 'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon', - 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', - 'comma', 'common_size', 'commutation_matrix', 'compan', - 'compare_versions', 'compass', 'computer', 'cond', 'condest', - 'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv', - 'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile', 'cor', - 'cor_test', 'corr', 'corrcoef', 'cosd', 'cot', 'cotd', 'coth', 'cov', - 'cplxpair', 'cquad', 'cross', 'csc', 'cscd', 'csch', 'cstrcat', - 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cut', 'cylinder', - 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr', - 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', - 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', - 'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend', - 'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv', - 'discrete_pdf', 'discrete_rnd', 'dispatch', 'display', 'divergence', - 'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch', - 'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson', - 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv', - 'empirical_pdf', 'empirical_rnd', 'eomday', 'error_text', 'errorbar', - 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf', - 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot', - 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', - 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', - 'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', - 'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2', - 'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim', - 'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot', - 'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve', 'fstat', - 'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammai', 'gammainc', - 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf', - 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd', - 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', - 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', - 'glpkmex', 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', - 'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid', - 'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata', - 'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel', - 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden', - 'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test', - 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf', - 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', - 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', - 'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str', - 'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn', - 'intersect', 'intwarning', 'inv', 'invhilb', 'iqr', - 'is_duplicate_entry', 'is_global', 'is_leap_year', 'is_valid_file_id', - 'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir', - 'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian', - 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors', - 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop', - 'isrow', 'isscalar', 'issquare', 'isstr', 'isstrprop', 'issymmetric', - 'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf', - 'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron', - 'kruskal_wallis_test', 'krylov', 'krylovb', 'kurtosis', 'laplace_cdf', - 'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend', - 'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes', - 'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv', - 'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit', - 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', - 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', - 'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', - 'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', - 'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc', - 'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp', - 'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax', - 'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf', - 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2', - 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd', - 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str', - 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields', - 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal', - 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', - 'peaks', 'periodogram', 'perl', 'perms', 'perror', 'pie', 'pie3', - 'pink', 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3', - 'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', - 'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea', - 'polyder', 'polyderiv', 'polyfit', 'polygcd', 'polyint', 'polyout', - 'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset', - 'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg', - 'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins', - 'print_usage', 'prism', 'probit', 'profexplore', 'profile', - 'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', - 'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', - 'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', - 'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record', - 'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp', - 'regexptranslate', 'replot', 'repmat', 'residue', 'rgb2hsv', - 'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', - 'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run', - 'run_count', 'run_test', 'rundemos', 'runlength', 'runtests', - 'saveas', 'saveaudio', 'saveimage', 'saveobj', 'savepath', 'scatter', - 'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx', - 'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio', - 'setdiff', 'setfield', 'setpref', 'setstr', 'setxor', 'shading', - 'shell_cmd', 'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind', - 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows', - 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', - 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', - 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', - 'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', - 'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf', - 'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', - 'stft', 'str2double', 'str2num', 'strcat', 'strchr', 'strerror', - 'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok', - 'strtrim', 'strtrunc', 'structfun', 'studentize', 'sub2ind', - 'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer', - 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds', - 'swapbytes', 'syl', 'sylvester_matrix', 'symbfact', 'symrcm', - 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', - 'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', - 'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', - 'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh', - 'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn', - 'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol', - 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool', - 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait', - 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', - 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', - 'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', - 'urlwrite', 'usejava', 'validatestring', 'values', 'vander', 'var', - 'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin', - 'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite', - 'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday', 'weibcdf', - 'weibinv', 'weibpdf', 'weibrnd', 'welch_test', 'what', 'which', - 'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter', - 'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test', - 'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun', - 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack', - 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete', - 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', - 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', - 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', - 'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', - 'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options', - 'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom', - 'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate', - 'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm', - 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank', - 'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu', - 'urlread' - ), - // Private builtin - 7 => array( - '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__', - '__accumdim_sum__', '__builtins__', '__calc_dimensions__', - '__current_scope__', '__display_tokens__', '__dump_symtab_info__', - '__end__', '__get__', '__go_axes__', '__go_axes_init__', - '__go_delete__', '__go_execute_callback__', '__go_figure__', - '__go_figure_handles__', '__go_handles__', '__go_hggroup__', - '__go_image__', '__go_line__', '__go_patch__', '__go_surface__', - '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__', - '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__', - '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__', - '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__', - '__keywords__', '__lexer_debug_flag__', '__list_functions__', - '__operators__', '__parent_classes__', '__parser_debug_flag__', - '__pathorig__', '__profiler_data__', '__profiler_enable__', - '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__', - '__token_count__', '__varval__', '__version_info__', '__which__' - ), - // Private Octave functions - 8 => array( - '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', - '__dsearchn__', '__error_text__', '__finish__', '__fltk_uigetfile__', - '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', - '__init_gnuplot__', '__lin_interpn__', '__magick_read__', - '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__', - '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', - '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', - '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', - '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', - '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__', - '__magick_write__' - ), - // Builtin Global Variables - 9 => array( - 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', - 'F_SETFL', 'I', 'IMAGE_PATH', 'J', 'NA', 'OCTAVE_HOME', - 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', - 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', - 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', - 'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO', - 'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP', - 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', - 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' - ), - //Function handle - 10 => array("@([A-Za-z_][A-Za-z1-9_]*)?"), - // Boolean - // false and true can be used as functions too. - // Do not highlight as boolean if followed by parentheses. - 11 => array("\b([false|true])(\b(?!(\s)*\()"), - // Decimal - 12 => array("\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), - // Floating point number - 13 => array("\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?" - ), - // Octal number - 14 => array("\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), - // Hex number - 15 => array("\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), - // Reserved constants - // Most of the constants can be used as functions too. Do not highlight - // as constants if followed by parentheses. - 16 => array("[e|eps|(J|j|I|i)|(Inf|inf)|(NaN|nan)|NA|ones|pi|rand|randn|zeros])(\b(?!(\s)*\()"), - // Package manager - 17 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") + // Data types + 1 => array( + 'cell', 'char', 'double', 'uint8', 'uint16', 'uint32', 'uint64', + 'int8','int16', 'int32', 'int64', 'logical', 'single', 'struct' + ), + // Storage type + 2 => array( + 'global', 'persistent', 'static' + ), + // Internal variables + 3 => array('ans'), + // Reserved words + 4 => array( + 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', + 'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction', + 'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function', + 'if', 'otherwise', 'parfor', 'return', + 'switch', 'try', 'until', 'unwind_protect', + 'unwind_protect_cleanup', 'varargin', 'varargout', 'while' + ), + // Built in + 5 => array( + 'Inf', 'NaN', 'P_tmpdir', 'abs', 'acos', 'acosh', + 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', + 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', + 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', + 'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits', + 'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor', + 'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil', + 'cell2struct', 'cellstr', 'chdir', 'class', 'clc', + 'clear', 'columns', 'command_line_path', 'completion_append_char', + 'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj', + 'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose', + 'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext', + 'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup', + 'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning', + 'default_save_options', 'dellistener', 'diag', 'diary', 'diff', + 'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes', + 'doc_cache_file', 'drawnow', 'dup2', 'e', 'echo', + 'echo_executing_commands', 'edit_history', 'eps', 'eq', 'erf', 'erfc', + 'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin', + 'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'fclear', + 'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush', + 'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path', + 'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix', + 'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork', + 'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport', + 'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str', + 'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get', + 'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv', + 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', + 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', + 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', + 'hypot', 'i', 'ifelse', 'ignore_function_time_stamp', 'imag', + 'inferiorto', 'info_file', 'info_program', 'inline', 'input', + 'intmax', 'intmin', 'ipermute', + 'is_absolute_filename', 'is_dq_string', 'is_function_handle', + 'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha', + 'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar', + 'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty', + 'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle', + 'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical', + 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', + 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', + 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', + 'j', 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', + 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', + 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', + 'log1p', 'log2', 'lower', 'lstat', 'lt', + 'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth', + 'merge', 'methods', 'mfilename', 'minus', 'mislocked', + 'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide', + 'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock', + 'nargin', 'nargout', 'native_float_format', 'ndims', 'ne', + 'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax', + 'octave_config_info', 'octave_core_file_limit', + 'octave_core_file_name', 'octave_core_file_options', + 'octave_tmp_file_name', 'onCleanup', 'ones', + 'optimize_subsasgn_calls', 'or', 'output_max_field_width', + 'output_precision', 'page_output_immediately', 'page_screen_output', + 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pi', 'pipe', 'plus', + 'popen', 'popen2', 'power', 'print_empty_dimensions', + 'print_struct_array_contents', 'printf', 'prod', + 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', + 'quit', 'rats', 'rdivide', 're_read_readline_init_file', + 'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax', + 'realmin', 'register_graphics_toolkit', 'rehash', 'rem', + 'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape', + 'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield', + 'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save', + 'save_header_format_string', 'save_precision', 'saving_history', + 'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign', + 'sigterm_dumps_octave_core', 'silent_functions', 'sin', + 'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort', + 'source', 'spalloc', 'sparse', 'sparse_auto_mutate', + 'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat', + 'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi', + 'string_fill_char', 'strncmp', 'strncmpi', 'struct2cell', + 'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum', + 'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink', + 'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand', + 'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper', + 'transpose', 'typeinfo', + 'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink', + 'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat', + 'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos', + 'whos_line_format', 'yes_or_no', 'zeros' + ), + // Octave functions + 6 => array( + 'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc', + 'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd', + 'ancestor', 'anova', 'arch_fit', 'arch_rnd', 'arch_test', + 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind', + 'assert', 'atand', 'autocor', 'autocov', 'autoreg_matrix', 'autumn', + 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test', + 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', 'betai', + 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', + 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', + 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', + 'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', + 'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph', + 'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', + 'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun', 'cellidx', + 'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd', + 'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol', + 'chop', 'circshift', 'cla', 'clabel', 'clf', 'clg', 'clock', + 'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon', + 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', + 'comma', 'common_size', 'commutation_matrix', 'compan', + 'compare_versions', 'compass', 'computer', 'cond', 'condest', + 'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv', + 'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile', 'cor', + 'cor_test', 'corr', 'corrcoef', 'cosd', 'cot', 'cotd', 'coth', 'cov', + 'cplxpair', 'cquad', 'cross', 'csc', 'cscd', 'csch', 'cstrcat', + 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cut', 'cylinder', + 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr', + 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', + 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', + 'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend', + 'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv', + 'discrete_pdf', 'discrete_rnd', 'dispatch', 'display', 'divergence', + 'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch', + 'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson', + 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv', + 'empirical_pdf', 'empirical_rnd', 'eomday', 'error_text', 'errorbar', + 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf', + 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot', + 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', + 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', + 'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', + 'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2', + 'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim', + 'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot', + 'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve', 'fstat', + 'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammai', 'gammainc', + 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf', + 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd', + 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', + 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', + 'glpkmex', 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', + 'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid', + 'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata', + 'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel', + 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden', + 'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test', + 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf', + 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', + 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', + 'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str', + 'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn', + 'intersect', 'intwarning', 'inv', 'invhilb', 'iqr', + 'is_duplicate_entry', 'is_global', 'is_leap_year', 'is_valid_file_id', + 'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir', + 'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian', + 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors', + 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop', + 'isrow', 'isscalar', 'issquare', 'isstr', 'isstrprop', 'issymmetric', + 'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf', + 'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron', + 'kruskal_wallis_test', 'krylov', 'krylovb', 'kurtosis', 'laplace_cdf', + 'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend', + 'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes', + 'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv', + 'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit', + 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', + 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', + 'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', + 'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', + 'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc', + 'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp', + 'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax', + 'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf', + 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2', + 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd', + 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str', + 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields', + 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal', + 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', + 'peaks', 'periodogram', 'perl', 'perms', 'perror', 'pie', 'pie3', + 'pink', 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3', + 'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', + 'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea', + 'polyder', 'polyderiv', 'polyfit', 'polygcd', 'polyint', 'polyout', + 'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset', + 'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg', + 'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins', + 'print_usage', 'prism', 'probit', 'profexplore', 'profile', + 'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', + 'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', + 'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', + 'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record', + 'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp', + 'regexptranslate', 'replot', 'repmat', 'residue', 'rgb2hsv', + 'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', + 'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run', + 'run_count', 'run_test', 'rundemos', 'runlength', 'runtests', + 'saveas', 'saveaudio', 'saveimage', 'saveobj', 'savepath', 'scatter', + 'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx', + 'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio', + 'setdiff', 'setfield', 'setpref', 'setstr', 'setxor', 'shading', + 'shell_cmd', 'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind', + 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows', + 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', + 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', + 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', + 'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', + 'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf', + 'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', + 'stft', 'str2double', 'str2num', 'strcat', 'strchr', 'strerror', + 'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok', + 'strtrim', 'strtrunc', 'structfun', 'studentize', 'sub2ind', + 'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer', + 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds', + 'swapbytes', 'syl', 'sylvester_matrix', 'symbfact', 'symrcm', + 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', + 'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', + 'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', + 'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh', + 'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn', + 'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol', + 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool', + 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait', + 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', + 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', + 'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', + 'urlwrite', 'usejava', 'validatestring', 'values', 'vander', 'var', + 'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin', + 'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite', + 'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday', 'weibcdf', + 'weibinv', 'weibpdf', 'weibrnd', 'welch_test', 'what', 'which', + 'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter', + 'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test', + 'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun', + 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack', + 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete', + 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', + 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', + 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', + 'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', + 'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options', + 'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom', + 'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate', + 'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm', + 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank', + 'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu', + 'urlread' + ), + // Private builtin + 7 => array( + '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__', + '__accumdim_sum__', '__builtins__', '__calc_dimensions__', + '__current_scope__', '__display_tokens__', '__dump_symtab_info__', + '__end__', '__get__', '__go_axes__', '__go_axes_init__', + '__go_delete__', '__go_execute_callback__', '__go_figure__', + '__go_figure_handles__', '__go_handles__', '__go_hggroup__', + '__go_image__', '__go_line__', '__go_patch__', '__go_surface__', + '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__', + '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__', + '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__', + '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__', + '__keywords__', '__lexer_debug_flag__', '__list_functions__', + '__operators__', '__parent_classes__', '__parser_debug_flag__', + '__pathorig__', '__profiler_data__', '__profiler_enable__', + '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__', + '__token_count__', '__varval__', '__version_info__', '__which__' + ), + // Private Octave functions + 8 => array( + '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', + '__dsearchn__', '__error_text__', '__finish__', '__fltk_uigetfile__', + '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', + '__init_gnuplot__', '__lin_interpn__', '__magick_read__', + '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__', + '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', + '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', + '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', + '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', + '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__', + '__magick_write__' + ), + // Builtin Global Variables + 9 => array( + 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', + 'F_SETFL', 'I', 'IMAGE_PATH', 'J', 'NA', 'OCTAVE_HOME', + 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', + 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', + 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', + 'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO', + 'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP', + 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', + 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' + ), + // Floating point number + 13 => array("\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?" + ), + // Octal number + 14 => array("\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), + // Hex number + 15 => array("\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), + // Reserved constants + // Most of the constants can be used as functions too. Do not highlight + // as constants if followed by parentheses. + 16 => array("[e|eps|(J|j|I|i)|(Inf|inf)|(NaN|nan)|NA|ones|pi|rand|randn|zeros])(\b(?!(\s)*\()"), + // Package manager + 17 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") ), 'SYMBOLS' => array( - '!', '!=', '"', '&', '&&', "'", - '*', '**', '+', '++', ',', '-', '--', ".'", '.*', '.**', '...', - './', '.^', '/', ':', ';', '<', '<=', '=', '==', '>', '>=', '^', - '|', '||', '~', '~=', '\\' + 0 => array( + '!', '!=', '&', '&&','|', '||', '~', '~=', + '<', '<=', '=', '==', '>', '>='), + 1 => array('*', '**', '+', '++', '-', '--', '/', '\'), + 2 => array('.*', '.**','./', '.^', '^','.\'), + 3 => array(':'), + 4 => array(',', '...', ';') ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, @@ -404,54 +399,12 @@ 7 => false, 8 => false, 9 => false, - 10 => false, - 11 => false, - 12 => false, 13 => false, 14 => false, 15 => false, - 16 => false - ), - 'STYLES' => array( - 'KEYWORDS' => array( - 1 => 'color: #2E8B57; font-weight:bold;', // Data types - 2 => 'color: #2E8B57; font-weight:bold;', // Storage type - 3 => 'color: #0000FF; font-weight:bold;', // Internal variable - 4 => 'color: #990000; font-weight:bold;', // Reserved words - 5 => 'color: #008A8C; font-weight:bold;', // Built-in - 6 => 'color: #33CC33;' // Octave functions - ), - 'COMMENTS' => array( - 1 => 'color: #0000FF; font-style: italic;', - 2 => 'color: #0000FF; font-style: italic;', - 'MULTI' => 'color: #0000FF; font-style: italic;' - ), - 'ESCAPE_CHAR' => array( - 0 => '' - ), - 'BRACKETS' => array( - 0 => 'color: #080;' - ), - 'STRINGS' => array( - //0 => 'color: #A020F0;' - ), - 'NUMBERS' => array( - 0 => 'color: #33f;' - ), - 'METHODS' => array( - 1 => '', - 2 => '' - ), - 'SYMBOLS' => array( - 0 => 'color: #FF0000; font-weight:bold;' - ), - 'REGEXPS' => array( - 0 => 'color: #33f;' - ), - 'SCRIPT' => array( - 0 => '' - ) - ), + 16 => false, + 17 => false + ), 'URLS' => array( 1 => '', 2 => '', @@ -462,24 +415,91 @@ 7 => '', 8 => '', 9 => '', - 10 => '', - 11 => '', - 12 => '', 13 => '', - 14 => '' - ), + 14 => '', + 15 => '', + 16 => '', + 17 => '' + ), 'OOLANG' => true, 'OBJECT_SPLITTERS' => array( 1 => '.', 2 => '::' - ), + ), 'REGEXPS' => array( //Complex numbers - 0 => '(?<![\\w\\/])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w]|\<DOT>html)' - ), +// 0 => "(?<![\\w\\/])[+-]?[\\d]*([\\d]\\.|\\.[\\d])?[\\d]*[ij](?![\\w]|\<DOT>html)", + // Boolean + // false and true can be used as functions too. + // Do not highlight as boolean if followed by parentheses. +// 1 => "(\b([false|true])(\\b(?!(\\s)*\())" + //Function handle + 1 => array( + GESHI_SEARCH => '(@([A-Za-z_][A-Za-z1-9_]*)?)', + GESHI_REPLACE => '\\1', + GESHI_MODIFIERS => '', + GESHI_BEFORE => '', + GESHI_AFTER => '' + )//, + // Decimal TODO not working +// 2 => array( +// GESHI_SEARCH => '(\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b)', +// GESHI_REPLACE => '\\1', +// GESHI_MODIFIERS => '', +// GESHI_BEFORE => '', +// GESHI_AFTER => '' +// ) + + ), 'STRICT_MODE_APPLIES' => GESHI_NEVER, 'SCRIPT_DELIMITERS' => array(), - 'HIGHLIGHT_STRICT_BLOCK' => array() + 'HIGHLIGHT_STRICT_BLOCK' => array(), + 'STYLES' => array( + 'KEYWORDS' => array( + 1 => 'color: #2E8B57; font-weight:bold;', // Data types + 2 => 'color: #2E8B57;', // Storage type + 3 => 'color: #0000FF; font-weight:bold;', // Internal variable + 4 => 'color: #990000; font-weight:bold;', // Reserved words + 5 => 'color: #008A8C; font-weight:bold;', // Built-in + 6 => 'color: #008A8C;', // Octave functions + 9 => 'color: #000000; font-weight:bold;' // Builtin Global Variables + ), + 'COMMENTS' => array( + 1 => 'color: #0000FF; font-style: italic;', + 2 => 'color: #0000FF; font-style: italic;', + 'MULTI' => 'color: #0000FF; font-style: italic;' + ), + 'ESCAPE_CHAR' => array( + 0 => '' + ), + 'BRACKETS' => array( + 0 => 'color: #080;' + ), + 'STRINGS' => array( + //0 => 'color: #A020F0;' + ), + 'NUMBERS' => array( + 0 => 'color: #33f;' + ), + 'METHODS' => array( + 1 => '', + 2 => '' + ), + 'SYMBOLS' => array( + 0 => 'color: #FF0000; font-weight:bold;', + 1 => 'color: #FF0000; font-weight:bold;', + 2 => 'color: #FF0000; font-weight:bold;', + 3 => 'color: #FF0000;', + 4 => 'color: #33f' + ), + 'REGEXPS' => array( + 0 => 'color: #33f;', + 1 => 'color: #0000FF; font-weight:bold;', //Function handle + 2 => 'color: #CC3399;' //Decimal + ), + 'SCRIPT' => array( + 0 => '' + ) + ) ); - ?> Added: trunk/octave-forge/admin/langfiles/printAllBuiltins.m =================================================================== --- trunk/octave-forge/admin/langfiles/printAllBuiltins.m (rev 0) +++ trunk/octave-forge/admin/langfiles/printAllBuiltins.m 2012-05-23 14:15:48 UTC (rev 10504) @@ -0,0 +1,82 @@ +## Copyright (c) 2012 Juan Pablo Carbajal <car...@if...> +## +## This program is free software; you can redistribute it and/or modify +## it under the terms of the GNU General Public License as published by +## the Free Software Foundation; either version 3 of the License, or +## (at your option) any later version. +## +## This program is distributed in the hope that it will be useful, +## but WITHOUT ANY WARRANTY; without even the implied warranty of +## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +## GNU General Public License for more details. +## +## You should have received a copy of the GNU General Public License +## along with this program; if not, see <http://www.gnu.org/licenses/>. + +# This scripts prints all builtin functions in a plain text file named builtin.txt +# Global variables and private functions are placed in globalvar.txt and private.txt +# respectively. Octave functions are placed in functions.txt + +1; +function printfunc (file, x) + fprintf (file, "'%s', ", x); +endfunction + +function y = isglobalvar (x) + y = strcmp (toupper (x),x); +endfunction + +function y = isprivfun (x) + try + y = strcmp (x(1:2),'__'); + catch "Octave:index-out-of-bounds"; + y = false; + end +endfunction + +builtinfun = __builtins__; + +idx = cellfun (@isglobalvar, builtinfun); +glovar = builtinfun(idx); +builtinfun(idx) = []; + +idx = cellfun (@isprivfun, builtinfun); +privfun = builtinfun(idx); +builtinfun(idx) = []; + +fid = fopen ('builtin.txt','w'); +cellfun (@(x)printfunc (fid,x), builtinfun); +fclose (fid); + +fid = fopen ('globalvar.txt','w'); +cellfun (@(x)printfunc (fid,x), glovar); +fclose (fid); + +fid = fopen ('private.txt','w'); +cellfun (@(x)printfunc (fid,x), privfun); +fclose (fid); + +pkg unload all +octfun = __list_functions__; +idx = cellfun (@isprivfun, octfun); +privfun = octfun(idx); +octfun(idx) = []; + +fid = fopen ('functions.txt','w'); +cellfun (@(x)printfunc (fid,x), octfun); +fclose (fid); +fid = fopen ('fun_private.txt','w'); +cellfun (@(x)printfunc (fid,x), privfun); +fclose (fid); + +keywords = __keywords__; +fid = fopen ('keywords.txt','w'); +cellfun (@(x)printfunc (fid,x), keywords); +fclose (fid); + +op = __operators__; +fid = fopen ('operators.txt','w'); +cellfun (@(x)printfunc (fid,x), op); +fclose (fid); + +clear all This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-23 12:34:32
|
Revision: 10503 http://octave.svn.sourceforge.net/octave/?rev=10503&view=rev Author: jpicarbajal Date: 2012-05-23 12:34:26 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 12:24:25 UTC (rev 10502) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 12:34:26 UTC (rev 10503) @@ -62,9 +62,7 @@ 'global ', 'persistent ', 'static ' ), // Internal variables - 3 => array( - 'ans' - ), + 3 => array('ans'), // Reserved words 4 => array( 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', @@ -393,7 +391,7 @@ '!', '!=', '"', '&', '&&', "'", '*', '**', '+', '++', ',', '-', '--', ".'", '.*', '.**', '...', './', '.^', '/', ':', ';', '<', '<=', '=', '==', '>', '>=', '^', - '|', '||', '~', '~=' + '|', '||', '~', '~=', '\\' ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-23 12:24:36
|
Revision: 10502 http://octave.svn.sourceforge.net/octave/?rev=10502&view=rev Author: jpicarbajal Date: 2012-05-23 12:24:25 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 12:18:13 UTC (rev 10501) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 12:24:25 UTC (rev 10502) @@ -445,7 +445,7 @@ 2 => '' ), 'SYMBOLS' => array( - 0 => 'color: #080;' + 0 => 'color: #FF0000; font-weight:bold;' ), 'REGEXPS' => array( 0 => 'color: #33f;' This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <jpi...@us...> - 2012-05-23 12:18:20
|
Revision: 10501 http://octave.svn.sourceforge.net/octave/?rev=10501&view=rev Author: jpicarbajal Date: 2012-05-23 12:18:13 +0000 (Wed, 23 May 2012) Log Message: ----------- admin: lang files Modified Paths: -------------- trunk/octave-forge/admin/langfiles/octave.php Modified: trunk/octave-forge/admin/langfiles/octave.php =================================================================== --- trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 09:50:30 UTC (rev 10500) +++ trunk/octave-forge/admin/langfiles/octave.php 2012-05-23 12:18:13 UTC (rev 10501) @@ -67,299 +67,334 @@ ), // Reserved words 4 => array( - 'break', 'case', 'catch', 'continue', 'do', 'else', - 'elseif','end_try_catch', 'end_unwind_protect', 'endfor', - 'endfunction', 'endif', 'endswitch', 'endwhile', 'for', - 'function', 'if','otherwise', 'return', 'switch ', 'try', - 'until', 'unwind_protect', 'unwind_protect_cleanup', 'varargin', - 'varargout', 'while' + 'break', 'case', 'catch', 'continue', 'do', 'else', 'elseif', 'end', + 'end_try_catch', 'end_unwind_protect', 'endfor', 'endfunction', + 'endif', 'endparfor', 'endswitch', 'endwhile', 'for', 'function', + 'global', 'if', 'otherwise', 'parfor', 'persistent', 'return', + 'static', 'switch', 'try', 'until', 'unwind_protect', + 'unwind_protect_cleanup', 'varargin', 'varargout', 'while' ), // Built in 5 => array( - 'all','any','exist','is','logical','mislocked', - 'abs','acos','acosh','acot','acoth','acsc','acsch','airy','angle', - 'area','asec','asech','asin','asinh','atan','atan2','atanh', - 'auread','autumn','auwrite','axes','axis','balance','bar','bar3', - 'bar3h','barh','besselh','besseli','besselj','besselk','Bessely', - 'beta','betainc','betaln','bicg','bicgstab','bin2dec','bitand', - 'bitcmp','bitget','bitmax','bitor','bitset','bitshift','bitxor', - 'blkdiag','bone','box','brighten','builtin','bwcontr','calendar', - 'camdolly','camlight','camlookat','camorbit','campan','campos', - 'camproj','camroll','camtarget','camup','camva','camzoom','capture', - 'cart2pol','cart2sph','cat','caxis','cdf2rdf','ceil', - 'cell2struct','celldisp','cellfun','cellplot','cellstr','cgs', - 'char','chol','cholinc','cholupdate','cla','clabel','class','clc', - 'clf','clg','clock','close','colmmd','colorbar','colorcube', - 'colordef','colormap','colperm','comet','comet3','compan','compass', - 'complex','computer','cond','condeig','condest','coneplot','conj', - 'contour','contourc','contourf','contourslice','contrast','conv', - 'conv2','convhull','cool','copper','copyobj','corrcoef','cos', - 'cosh','cot','coth','cov','cplxpair','cputime','cross','csc','csch', - 'cumprod','cumsum','cumtrapz','cylinder','daspect','date','datenum', - 'datestr','datetick','datevec','dbclear','dbcont','dbdown', - 'dblquad','dbmex','dbquit','dbstack','dbstatus','dbstep','dbstop', - 'dbtype','dbup','deblank','dec2bin','dec2hex','deconv','del2', - 'delaunay','det','diag','dialog','diff','diffuse','dlmread', - 'dlmwrite','dmperm','double','dragrect','drawnow','dsearch','eig', - 'eigs','ellipj','ellipke','eomday','eps','erf','erfc','erfcx', - 'erfiny','error','errorbar','errordlg','etime','eval','evalc', - 'evalin','exp','expint','expm','eye','ezcontour','ezcontourf', - 'ezmesh','ezmeshc','ezplot','ezplot3','ezpolar','ezsurf','ezsurfc', - 'factor','factorial','fclose','feather','feof','ferror','feval', - 'fft','fft2','fftshift','fgetl','fgets','fieldnames','figure', - 'fill','fill3','filter','filter2','find','findfigs','findobj', - 'findstr','fix','flag','flipdim','fliplr','flipud','floor','flops', - 'fmin','fmins','fopen','fplot','fprintf','fread','frewind','fscanf', - 'fseek','ftell','full','funm','fwrite','fzero','gallery','gamma', - 'gammainc','gammaln','gca','gcbo','gcd','gcf','gco','get', - 'getfield','ginput','gmres','gradient','gray','graymon','grid', - 'griddata','gsvd','gtext','hadamard','hankel','hdf','helpdlg', - 'hess','hex2dec','hex2num','hidden','hilb','hist','hold','hot', - 'hsv','hsv2rgb','i','ifft','ifft2','ifftn','ifftshift','imag', - 'image','imfinfo','imread','imwrite','ind2sub','Inf','inferiorto', - 'inline','inpolygon','input','inputdlg','inputname', - 'int2str','interp1','interp2','interp3','interpft', - 'interpn','intersect','inv','invhilb','ipermute','isa','ishandle', - 'ismember','isocaps','isonormals','isosurface','j','jet','keyboard', - 'lcm','legend','legendre','light','lighting','lightingangle', - 'lin2mu','line','lines','linspace','listdlg','loadobj','log', - 'log10','log2','loglog','logm','logspace','lower','lscov','lu', - 'luinc','magic','mat2str','material','max','mean','median','menu', - 'menuedit','mesh','meshc','meshgrid','min','mod','msgbox','mu2lin', - 'NaN','nargchk','nargin','nargout','nchoosek','ndgrid','ndims', - 'newplot','nextpow2','nnls','nnz','nonzeros','norm','normest','now', - 'null','num2cell','num2str','nzmax','ode113,','ode15s,','ode23s,', - 'ode23t,','ode23tb','ode45,','odefile','odeget','odeset','ones', - 'orient','orth','pagedlg','pareto','pascal','patch','pause', - 'pbaspect','pcg','pcolor','peaks','perms','permute','pi','pie', - 'pie3','pinv','plot','plot3','plotmatrix','plotyy','pol2cart', - 'polar','poly','polyarea','polyder','polyeig','polyfit','polyval', - 'polyvalm','pow2','primes','print','printdlg','printopt','prism', - 'prod','propedit','qmr','qr','qrdelete','qrinsert','qrupdate', - 'quad','questdlg','quiver','quiver3','qz','rand','randn','randperm', - 'rank','rat','rats','rbbox','rcond','real','realmax','realmin', - 'rectangle','reducepatch','reducevolume','refresh','rem','repmat', - 'reset','reshape','residue','rgb2hsv','rgbplot','ribbon','rmfield', - 'roots','rose','rot90','rotate','rotate3d','round','rref', - 'rrefmovie','rsf2csf','saveobj','scatter','scatter3','schur', - 'script','sec','sech','selectmoveresize','semilogx','semilogy', - 'set','setdiff','setfield','setxor','shading','shg','shiftdim', - 'shrinkfaces','sign','sin','single','sinh','slice','smooth3','sort', - 'sortrows','sound','soundsc','spalloc','sparse','spconvert', - 'spdiags','specular','speye','spfun','sph2cart','sphere','spinmap', - 'spline','spones','spparms','sprand','sprandn','sprandsym','spring', - 'sprintf','sqrt','sqrtm','squeeze','sscanf','stairs','std','stem', - 'stem3','str2double','str2num','strcat','strcmp','strcmpi', - 'stream2','stream3','streamline','strings','strjust','strmatch', - 'strncmp','strrep','strtok','struct','struct2cell','strvcat', - 'sub2ind','subplot','subspace','subvolume','sum','summer', - 'superiorto','surf','surf2patch','surface','surfc','surfl', - 'surfnorm','svd','svds','symmmd','symrcm','symvar','tan','tanh', - 'texlabel','text Create','textread','textwrap','tic','title','toc', - 'toeplitz','trace','trapz','tril','trimesh','trisurf','triu', - 'tsearch','uicontext Create','uicontextmenu','uicontrol', - 'uigetfile','uimenu','uiputfile','uiresume', - 'uisetcolor','uisetfont','uiwait Used','union','unique','unwrap', - 'upper','var','varargin','varargout','vectorize','view','viewmtx', - 'voronoi','waitbar','waitforbuttonpress','warndlg','warning', - 'waterfall','wavread','wavwrite','weekday','whitebg','wilkinson', - 'winter','wk1read','wk1write','xlabel','xlim','ylabel','ylim', - 'zeros','zlabel','zlim','zoom', - 'addpath','cd','clear','copyfile','delete','diary','dir','disp', - 'doc','docopt','echo','edit','fileparts','format','fullfile','help', - 'helpdesk','helpwin','home','inmem','lasterr','lastwarn','length', - 'load','lookfor','ls','matlabrc','matlabroot','mkdir','mlock', - 'more','munlock','open','openvar','pack','partialpath','path', - 'pathtool','profile','profreport','pwd','quit','rmpath','save', - 'saveas','size','tempdir','tempname','type','ver','version','web', - 'what','whatsnew','which','who','whos','workspace' + 'Inf', 'NaN', 'P_tmpdir', 'abs', 'acos', 'acosh', + 'add_input_event_hook', 'addlistener', 'addpath', 'addproperty', + 'all', 'allow_noninteger_range_as_index', 'and', 'angle', 'any', + 'arg', 'argnames', 'argv', 'asin', 'asinh', 'assignin', 'atan', + 'atan2', 'atanh', 'atexit', 'autoload', 'available_graphics_toolkits', + 'beep_on_error', 'bitand', 'bitmax', 'bitor', 'bitshift', 'bitxor', + 'builtin', 'canonicalize_file_name', 'cat', 'cbrt', 'cd', 'ceil', + 'cell', 'cell2struct', 'cellstr', 'char', 'chdir', 'class', 'clc', + 'clear', 'columns', 'command_line_path', 'completion_append_char', + 'completion_matches', 'complex', 'confirm_recursive_rmdir', 'conj', + 'cos', 'cosh', 'cputime', 'crash_dumps_octave_core', 'ctranspose', + 'cumprod', 'cumsum', 'dbclear', 'dbcont', 'dbdown', 'dbnext', + 'dbquit', 'dbstack', 'dbstatus', 'dbstep', 'dbstop', 'dbtype', 'dbup', + 'dbwhere', 'debug_on_error', 'debug_on_interrupt', 'debug_on_warning', + 'default_save_options', 'dellistener', 'diag', 'diary', 'diff', + 'disp', 'do_braindead_shortcircuit_evaluation', 'do_string_escapes', + 'doc_cache_file', 'double', 'drawnow', 'dup2', 'e', 'echo', + 'echo_executing_commands', 'edit_history', 'eps', 'eq', 'erf', 'erfc', + 'erfcx', 'erfinv', 'errno', 'errno_list', 'error', 'eval', 'evalin', + 'exec', 'exist', 'exit', 'exp', 'expm1', 'eye', 'false', 'fclear', + 'fclose', 'fcntl', 'fdisp', 'feof', 'ferror', 'feval', 'fflush', + 'fgetl', 'fgets', 'fieldnames', 'file_in_loadpath', 'file_in_path', + 'filemarker', 'filesep', 'find_dir_in_path', 'finite', 'fix', + 'fixed_point_format', 'floor', 'fmod', 'fnmatch', 'fopen', 'fork', + 'format', 'formula', 'fprintf', 'fputs', 'fread', 'freport', + 'frewind', 'fscanf', 'fseek', 'fskipl', 'ftell', 'full', 'func2str', + 'functions', 'fwrite', 'gamma', 'gammaln', 'ge', 'genpath', 'get', + 'get_help_text', 'get_help_text_from_file', 'getegid', 'getenv', + 'geteuid', 'getgid', 'gethostname', 'getpgrp', 'getpid', 'getppid', + 'getuid', 'glob', 'gt', 'history', 'history_control', 'history_file', + 'history_size', 'history_timestamp_format_string', 'home', 'horzcat', + 'hypot', 'i', 'ifelse', 'ignore_function_time_stamp', 'imag', 'inf', + 'inferiorto', 'info_file', 'info_program', 'inline', 'input', 'int16', + 'int32', 'int64', 'int8', 'intmax', 'intmin', 'ipermute', + 'is_absolute_filename', 'is_dq_string', 'is_function_handle', + 'is_rooted_relative_filename', 'is_sq_string', 'isalnum', 'isalpha', + 'isargout', 'isascii', 'isbool', 'iscell', 'iscellstr', 'ischar', + 'iscntrl', 'iscomplex', 'isdebugmode', 'isdigit', 'isempty', + 'isfield', 'isfinite', 'isfloat', 'isglobal', 'isgraph', 'ishandle', + 'isieee', 'isindex', 'isinf', 'isinteger', 'iskeyword', 'islogical', + 'islower', 'ismatrix', 'ismethod', 'isna', 'isnan', 'isnull', + 'isnumeric', 'isobject', 'isprint', 'ispunct', 'isreal', 'issorted', + 'isspace', 'issparse', 'isstruct', 'isupper', 'isvarname', 'isxdigit', + 'j', 'kbhit', 'keyboard', 'kill', 'lasterr', 'lasterror', 'lastwarn', + 'ldivide', 'le', 'length', 'lgamma', 'link', 'linspace', + 'list_in_columns', 'load', 'loaded_graphics_toolkits', 'log', 'log10', + 'log1p', 'log2', 'logical', 'lower', 'lstat', 'lt', + 'make_absolute_filename', 'makeinfo_program', 'max_recursion_depth', + 'merge', 'methods', 'mfilename', 'minus', 'mislocked', + 'missing_function_hook', 'mkdir', 'mkfifo', 'mkstemp', 'mldivide', + 'mlock', 'mod', 'more', 'mpower', 'mrdivide', 'mtimes', 'munlock', + 'nan', 'nargin', 'nargout', 'native_float_format', 'ndims', 'ne', + 'nfields', 'nnz', 'norm', 'not', 'nth_element', 'numel', 'nzmax', + 'octave_config_info', 'octave_core_file_limit', + 'octave_core_file_name', 'octave_core_file_options', + 'octave_tmp_file_name', 'onCleanup', 'ones', + 'optimize_subsasgn_calls', 'or', 'output_max_field_width', + 'output_precision', 'page_output_immediately', 'page_screen_output', + 'path', 'pathsep', 'pause', 'pclose', 'permute', 'pi', 'pipe', 'plus', + 'popen', 'popen2', 'power', 'print_empty_dimensions', + 'print_struct_array_contents', 'printf', 'prod', + 'program_invocation_name', 'program_name', 'putenv', 'puts', 'pwd', + 'quit', 'rats', 'rdivide', 're_read_readline_init_file', + 'read_readline_init_file', 'readdir', 'readlink', 'real', 'realmax', + 'realmin', 'register_graphics_toolkit', 'rehash', 'rem', + 'remove_input_event_hook', 'rename', 'repelems', 'reset', 'reshape', + 'resize', 'restoredefaultpath', 'rethrow', 'rmdir', 'rmfield', + 'rmpath', 'round', 'roundb', 'rows', 'run_history', 'save', + 'save_header_format_string', 'save_precision', 'saving_history', + 'scanf', 'set', 'setenv', 'sighup_dumps_octave_core', 'sign', + 'sigterm_dumps_octave_core', 'silent_functions', 'sin', 'single', + 'sinh', 'size', 'size_equal', 'sizemax', 'sizeof', 'sleep', 'sort', + 'source', 'spalloc', 'sparse', 'sparse_auto_mutate', + 'split_long_rows', 'sprintf', 'sqrt', 'squeeze', 'sscanf', 'stat', + 'stderr', 'stdin', 'stdout', 'str2func', 'strcmp', 'strcmpi', + 'string_fill_char', 'strncmp', 'strncmpi', 'struct', 'struct2cell', + 'struct_levels_to_print', 'strvcat', 'subsasgn', 'subsref', 'sum', + 'sumsq', 'superiorto', 'suppress_verbose_help_message', 'symlink', + 'system', 'tan', 'tanh', 'terminal_size', 'tic', 'tilde_expand', + 'times', 'tmpfile', 'tmpnam', 'toascii', 'toc', 'tolower', 'toupper', + 'transpose', 'true', 'typeinfo', 'uint16', 'uint32', 'uint64', + 'uint8', 'umask', 'uminus', 'uname', 'undo_string_escapes', 'unlink', + 'uplus', 'upper', 'usage', 'usleep', 'vec', 'vectorize', 'vertcat', + 'waitfor', 'waitpid', 'warning', 'warranty', 'who', 'whos', + 'whos_line_format', 'yes_or_no', 'zeros' ), - // Octave functions Function __list_functions__ lists them all + // Octave functions 6 => array( - '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', - '__dsearchn__', '__error_text__', '__finish__', '__fltk_uigetfile__', - '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', '__init_gnuplot__', - '__lin_interpn__', '__magick_read__', '__makeinfo__', '__pchip_deriv__', - '__plt_get_axis_arg__', '__qp__', '__voronoi__', 'accumarray', 'accumdim', - 'acosd', 'acot', 'acotd', 'acoth', 'acsc', 'acscd', 'acsch', 'addpref', - 'addtodate', 'allchild', 'amd', 'ancestor', 'anova', 'ans', 'arch_fit', - 'arch_rnd', 'arch_test', 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', - 'asech', 'asind', 'assert', 'atand', 'autocor', 'autocov', 'autoreg_matrix', - 'autumn', 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', - 'bartlett_test', 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', - 'betai', 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', - 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', - 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', 'blanks', - 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', 'bug_report', 'bunzip2', - 'bzip2', 'calendar', 'cart2pol', 'cart2sph', 'cast', 'cauchy_cdf', - 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', 'caxis', 'ccolamd', 'cell2mat', - 'celldisp', 'cellfun', 'cellidx', 'center', 'cgs', 'chi2cdf', 'chi2inv', - 'chi2pdf', 'chi2rnd', 'chisquare_test_homogeneity', - 'chisquare_test_independence', 'chol', 'chop', 'circshift', 'cla', 'clabel', - 'clf', 'clg', 'clock', 'cloglog', 'close', 'closereq', 'colamd', 'colloc', - 'colon', 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', - 'comma', 'common_size', 'commutation_matrix', 'compan', 'compare_versions', - 'compass', 'computer', 'cond', 'condest', 'contour', 'contour3', 'contourc', - 'contourf', 'contrast', 'conv', 'conv2', 'convhull', 'convhulln', 'cool', - 'copper', 'copyfile', 'cor', 'cor_test', 'corr', 'corrcoef', 'cosd', 'cot', - 'cotd', 'coth', 'cov', 'cplxpair', 'cquad', 'cross', 'csc', 'cscd', 'csch', - 'cstrcat', 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cut', - 'cylinder', 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', - 'datestr', 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', - 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', 'delaunay3', - 'delaunayn', 'delete', 'demo', 'det', 'detrend', 'diffpara', 'diffuse', - 'dir', 'discrete_cdf', 'discrete_inv', 'discrete_pdf', 'discrete_rnd', - 'dispatch', 'display', 'divergence', 'dlmread', 'dlmwrite', 'dmperm', 'doc', - 'dos', 'dot', 'dsearch', 'dsearchn', 'dump_prefs', 'duplication_matrix', - 'durbinlevinson', 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', - 'empirical_inv', 'empirical_pdf', 'empirical_rnd', 'eomday', 'error_text', - 'errorbar', 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', - 'exppdf', 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', - 'ezplot', 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', - 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', 'fft2', - 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', 'fileattrib', - 'fileparts', 'fileread', 'fill', 'filter', 'filter2', 'find', 'findall', - 'findobj', 'findstr', 'finv', 'flag', 'flipdim', 'fliplr', 'flipud', - 'fminbnd', 'fminunc', 'fpdf', 'fplot', 'fractdiff', 'freqz', 'freqz_plot', - 'frnd', 'fsolve', 'fstat', 'fullfile', 'fzero', 'gamcdf', 'gaminv', - 'gammai', 'gammainc', 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', - 'gcf', 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', - 'geornd', 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', - 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', 'glpkmex', - 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', 'gradient', - 'graphics_toolkit', 'gray', 'gray2ind', 'grid', 'griddata', 'griddata3', - 'griddatan', 'gtext', 'guidata', 'guihandles', 'gunzip', 'gzip', 'hadamard', - 'hamming', 'hankel', 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', - 'hggroup', 'hidden', 'hilb', 'hist', 'histc', 'hold', 'hot', - 'hotelling_test', 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', - 'hygecdf', 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', - 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', 'ind2rgb', - 'index', 'info', 'inpolygon', 'inputname', 'int2str', 'interp1', 'interp1q', - 'interp2', 'interp3', 'interpft', 'interpn', 'intersect', 'intwarning', - 'inv', 'invhilb', 'iqr', 'is_duplicate_entry', 'is_global', 'is_leap_year', - 'is_valid_file_id', 'isa', 'isappdata', 'iscolumn', 'isdefinite', - 'isdeployed', 'isdir', 'isequal', 'isequalwithequalnans', 'isfigure', - 'ishermitian', 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', - 'isocolors', 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', - 'isprop', 'isrow', 'isscalar', 'issquare', 'isstr', 'isstrprop', - 'issymmetric', 'isunix', 'isvector', 'jet', 'kendall', - 'kolmogorov_smirnov_cdf', 'kolmogorov_smirnov_test', - 'kolmogorov_smirnov_test_2', 'kron', 'kruskal_wallis_test', 'krylov', - 'krylovb', 'kurtosis', 'laplace_cdf', 'laplace_inv', 'laplace_pdf', - 'laplace_rnd', 'lcm', 'legend', 'legendre', 'license', 'lin2mu', 'line', - 'linkprop', 'list_primes', 'loadaudio', 'loadobj', 'logistic_cdf', - 'logistic_inv', 'logistic_pdf', 'logistic_regression', 'logistic_rnd', - 'logit', 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', - 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', 'lsode', - 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', 'mat2str', - 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', 'md5sum', 'mean', - 'meansq', 'median', 'menu', 'mesh', 'meshc', 'meshgrid', 'meshz', 'mex', - 'mexext', 'mgorth', 'mkoctfile', 'mkpp', 'mode', 'moment', 'movefile', - 'mpoles', 'mu2lin', 'namelengthmax', 'nargchk', 'narginchk', 'nargoutchk', - 'nbincdf', 'nbininv', 'nbinpdf', 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', - 'news', 'nextpow2', 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', - 'normrnd', 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', - 'num2str', 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', - 'orderfields', 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', - 'pascal', 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', - 'peaks', 'periodogram', 'perl', 'perms', 'perror', 'pie', 'pie3', 'pink', - 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3', 'plotmatrix', - 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', 'poissrnd', 'pol2cart', - 'polar', 'poly', 'polyaffine', 'polyarea', 'polyder', 'polyderiv', - 'polyfit', 'polygcd', 'polyint', 'polyout', 'polyreduce', 'polyval', - 'polyvalm', 'postpad', 'pow2', 'powerset', 'ppder', 'ppint', 'ppjumps', - 'ppplot', 'ppval', 'pqpnonneg', 'prctile', 'prepad', 'primes', 'print', - 'print_usage', 'prism', 'probit', 'profexplore', 'profile', 'profshow', - 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', 'quadcc', 'quadgk', - 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', 'qz', 'qzhess', - 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', 'rat', 'rcond', - 'reallog', 'realpow', 'realsqrt', 'record', 'rectangle', 'rectint', - 'recycle', 'refresh', 'refreshdata', 'regexp', 'regexptranslate', - 'releasePKG', 'replot', 'repmat', 'residue', 'rgb2hsv', 'rgb2ind', - 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', 'roots', 'rose', - 'rosser', 'rot90', 'rotdim', 'rref', 'run', 'run_count', 'run_test', - 'rundemos', 'runlength', 'runtests', 'saveas', 'saveaudio', 'saveimage', - 'saveobj', 'savepath', 'scatter', 'scatter3', 'schur', 'sec', 'secd', - 'sech', 'semicolon', 'semilogx', 'semilogxerr', 'semilogy', 'semilogyerr', - 'setappdata', 'setaudio', 'setdiff', 'setfield', 'setpref', 'setstr', - 'setxor', 'shading', 'shell_cmd', 'shg', 'shift', 'shiftdim', 'sign_test', - 'sinc', 'sind', 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', - 'sortrows', 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', - 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', - 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', 'sprand', - 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', 'sqrtm', - 'stairs', 'statistics', 'std', 'stdnormal_cdf', 'stdnormal_inv', - 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', 'stft', 'str2double', - 'str2num', 'strcat', 'strchr', 'strerror', 'strfind', 'strjust', 'strmatch', - 'strread', 'strsplit', 'strtok', 'strtrim', 'strtrunc', 'structfun', - 'studentize', 'sub2ind', 'subplot', 'subsindex', 'subspace', 'substr', - 'substruct', 'summer', 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', - 'svd', 'svds', 'swapbytes', 'syl', 'sylvester_matrix', 'symbfact', 'symrcm', - 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', 'table', - 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', 'textread', - 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', 'trace', 'trapz', - 'treelayout', 'treeplot', 'tril', 'trimesh', 'triplequad', 'triplot', - 'trisurf', 'trnd', 'tsearch', 'tsearchn', 'type', 'typecast', 'u_test', - 'uicontextmenu', 'uicontrol', 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', - 'uipushtool', 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', - 'uiwait', 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', - 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', 'unmkpp', - 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', 'urlwrite', 'usejava', - 'validatestring', 'values', 'vander', 'var', 'var_test', 'vech', 'ver', - 'version', 'view', 'voronoi', 'voronoin', 'waitbar', 'waitforbuttonpress', - 'warning_ids', 'wavread', 'wavwrite', 'wblcdf', 'wblinv', 'wblpdf', - 'wblrnd', 'weekday', 'weibcdf', 'weibinv', 'weibpdf', 'weibrnd', - 'welch_test', 'what', 'which', 'white', 'whitebg', 'wienrnd', - 'wilcoxon_test', 'wilkinson', 'winter', 'xlabel', 'xlim', 'xor', 'ylabel', - 'ylim', 'yulewalker', 'z_test', 'z_test_2', 'zip', 'zlabel', 'zlim', - 'zscore', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', '__ftp_ascii__', - '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', '__ftp_delete__', - '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', '__ftp_mode__', - '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', '__ftp_rmdir__', - '__magick_finfo__', '__magick_format_list__', '__magick_write__', 'airy', - 'arrayfun', 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', - 'bitunpack', 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', - 'choldelete', 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', - 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', - 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', 'getgrnam', - 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', 'ifft2', 'ifftn', - 'ind2sub', 'inverse', 'localtime', 'lsode_options', 'luupdate', 'mat2cell', - 'min', 'mktime', 'mouse_wheel_zoom', 'num2cell', 'num2hex', 'qrdelete', - 'qrinsert', 'qrshift', 'qrupdate', 'quad_options', 'rande', 'randg', - 'randn', 'randp', 'randperm', 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', - 'setpwent', 'sprank', 'strftime', 'strptime', 'strrep', 'svd_driver', - 'symamd', 'triu', 'urlread' + 'accumarray', 'accumdim', 'acosd', 'acot', 'acotd', 'acoth', 'acsc', + 'acscd', 'acsch', 'addpref', 'addtodate', 'allchild', 'amd', + 'ancestor', 'anova', 'ans', 'arch_fit', 'arch_rnd', 'arch_test', + 'area', 'arma_rnd', 'asctime', 'asec', 'asecd', 'asech', 'asind', + 'assert', 'atand', 'autocor', 'autocov', 'autoreg_matrix', 'autumn', + 'axes', 'axis', 'balance', 'bar', 'barh', 'bartlett', 'bartlett_test', + 'base2dec', 'beep', 'bessel', 'besselj', 'beta', 'betacdf', 'betai', + 'betainc', 'betainv', 'betaln', 'betapdf', 'betarnd', 'bicg', + 'bicgstab', 'bicubic', 'bin2dec', 'bincoeff', 'binocdf', 'binoinv', + 'binopdf', 'binornd', 'bitcmp', 'bitget', 'bitset', 'blackman', + 'blanks', 'blkdiag', 'bone', 'box', 'brighten', 'bsxfun', + 'bug_report', 'bunzip2', 'bzip2', 'calendar', 'cart2pol', 'cart2sph', + 'cast', 'cauchy_cdf', 'cauchy_inv', 'cauchy_pdf', 'cauchy_rnd', + 'caxis', 'ccolamd', 'cell2mat', 'celldisp', 'cellfun', 'cellidx', + 'center', 'cgs', 'chi2cdf', 'chi2inv', 'chi2pdf', 'chi2rnd', + 'chisquare_test_homogeneity', 'chisquare_test_independence', 'chol', + 'chop', 'circshift', 'cla', 'clabel', 'clf', 'clg', 'clock', + 'cloglog', 'close', 'closereq', 'colamd', 'colloc', 'colon', + 'colorbar', 'colormap', 'colperm', 'colstyle', 'comet', 'comet3', + 'comma', 'common_size', 'commutation_matrix', 'compan', + 'compare_versions', 'compass', 'computer', 'cond', 'condest', + 'contour', 'contour3', 'contourc', 'contourf', 'contrast', 'conv', + 'conv2', 'convhull', 'convhulln', 'cool', 'copper', 'copyfile', 'cor', + 'cor_test', 'corr', 'corrcoef', 'cosd', 'cot', 'cotd', 'coth', 'cov', + 'cplxpair', 'cquad', 'cross', 'csc', 'cscd', 'csch', 'cstrcat', + 'csvread', 'csvwrite', 'ctime', 'cumtrapz', 'curl', 'cut', 'cylinder', + 'daspect', 'daspk', 'dasrt', 'dassl', 'date', 'datenum', 'datestr', + 'datetick', 'datevec', 'dblquad', 'deal', 'deblank', 'debug', + 'dec2base', 'dec2bin', 'dec2hex', 'deconv', 'del2', 'delaunay', + 'delaunay3', 'delaunayn', 'delete', 'demo', 'det', 'detrend', + 'diffpara', 'diffuse', 'dir', 'discrete_cdf', 'discrete_inv', + 'discrete_pdf', 'discrete_rnd', 'dispatch', 'display', 'divergence', + 'dlmread', 'dlmwrite', 'dmperm', 'doc', 'dos', 'dot', 'dsearch', + 'dsearchn', 'dump_prefs', 'duplication_matrix', 'durbinlevinson', + 'edit', 'eig', 'eigs', 'ellipsoid', 'empirical_cdf', 'empirical_inv', + 'empirical_pdf', 'empirical_rnd', 'eomday', 'error_text', 'errorbar', + 'etime', 'etreeplot', 'example', 'expcdf', 'expinv', 'expm', 'exppdf', + 'exprnd', 'ezcontour', 'ezcontourf', 'ezmesh', 'ezmeshc', 'ezplot', + 'ezplot3', 'ezpolar', 'ezsurf', 'ezsurfc', 'f_test_regression', + 'fact', 'factor', 'factorial', 'fail', 'fcdf', 'feather', 'fft', + 'fft2', 'fftconv', 'fftfilt', 'fftn', 'fftshift', 'fftw', 'figure', + 'fileattrib', 'fileparts', 'fileread', 'fill', 'filter', 'filter2', + 'find', 'findall', 'findobj', 'findstr', 'finv', 'flag', 'flipdim', + 'fliplr', 'flipud', 'fminbnd', 'fminunc', 'fpdf', 'fplot', + 'fractdiff', 'freqz', 'freqz_plot', 'frnd', 'fsolve', 'fstat', + 'fullfile', 'fzero', 'gamcdf', 'gaminv', 'gammai', 'gammainc', + 'gampdf', 'gamrnd', 'gca', 'gcbf', 'gcbo', 'gcd', 'gcf', + 'gen_doc_cache', 'genvarname', 'geocdf', 'geoinv', 'geopdf', 'geornd', + 'get_first_help_sentence', 'getappdata', 'getfield', 'getgrent', + 'getpref', 'getpwent', 'getrusage', 'ginput', 'givens', 'glpk', + 'glpkmex', 'gls', 'gmap40', 'gmres', 'gnuplot_binary', 'gplot', + 'gradient', 'graphics_toolkit', 'gray', 'gray2ind', 'grid', + 'griddata', 'griddata3', 'griddatan', 'gtext', 'guidata', + 'guihandles', 'gunzip', 'gzip', 'hadamard', 'hamming', 'hankel', + 'hanning', 'help', 'hess', 'hex2dec', 'hex2num', 'hggroup', 'hidden', + 'hilb', 'hist', 'histc', 'hold', 'hot', 'hotelling_test', + 'hotelling_test_2', 'housh', 'hsv', 'hsv2rgb', 'hurst', 'hygecdf', + 'hygeinv', 'hygepdf', 'hygernd', 'idivide', 'ifftshift', 'image', + 'imagesc', 'imfinfo', 'imread', 'imshow', 'imwrite', 'ind2gray', + 'ind2rgb', 'index', 'info', 'inpolygon', 'inputname', 'int2str', + 'interp1', 'interp1q', 'interp2', 'interp3', 'interpft', 'interpn', + 'intersect', 'intwarning', 'inv', 'invhilb', 'iqr', + 'is_duplicate_entry', 'is_global', 'is_leap_year', 'is_valid_file_id', + 'isa', 'isappdata', 'iscolumn', 'isdefinite', 'isdeployed', 'isdir', + 'isequal', 'isequalwithequalnans', 'isfigure', 'ishermitian', + 'ishghandle', 'ishold', 'isletter', 'ismac', 'ismember', 'isocolors', + 'isonormals', 'isosurface', 'ispc', 'ispref', 'isprime', 'isprop', + 'isrow', 'isscalar', 'issquare', 'isstr', 'isstrprop', 'issymmetric', + 'isunix', 'isvector', 'jet', 'kendall', 'kolmogorov_smirnov_cdf', + 'kolmogorov_smirnov_test', 'kolmogorov_smirnov_test_2', 'kron', + 'kruskal_wallis_test', 'krylov', 'krylovb', 'kurtosis', 'laplace_cdf', + 'laplace_inv', 'laplace_pdf', 'laplace_rnd', 'lcm', 'legend', + 'legendre', 'license', 'lin2mu', 'line', 'linkprop', 'list_primes', + 'loadaudio', 'loadobj', 'logistic_cdf', 'logistic_inv', + 'logistic_pdf', 'logistic_regression', 'logistic_rnd', 'logit', + 'loglog', 'loglogerr', 'logm', 'logncdf', 'logninv', 'lognpdf', + 'lognrnd', 'logspace', 'lookfor', 'lookup', 'ls', 'ls_command', + 'lsode', 'lsqnonneg', 'lu', 'luinc', 'magic', 'mahalanobis', 'manova', + 'mat2str', 'matlabroot', 'matrix_type', 'max', 'mcnemar_test', + 'md5sum', 'mean', 'meansq', 'median', 'menu', 'mesh', 'meshc', + 'meshgrid', 'meshz', 'mex', 'mexext', 'mgorth', 'mkoctfile', 'mkpp', + 'mode', 'moment', 'movefile', 'mpoles', 'mu2lin', 'namelengthmax', + 'nargchk', 'narginchk', 'nargoutchk', 'nbincdf', 'nbininv', 'nbinpdf', + 'nbinrnd', 'nchoosek', 'ndgrid', 'newplot', 'news', 'nextpow2', + 'nonzeros', 'normcdf', 'normest', 'norminv', 'normpdf', 'normrnd', + 'now', 'nproc', 'nthargout', 'nthroot', 'ntsc2rgb', 'null', 'num2str', + 'ocean', 'ols', 'onenormest', 'optimget', 'optimset', 'orderfields', + 'orient', 'orth', 'pack', 'paren', 'pareto', 'parseparams', 'pascal', + 'patch', 'pathdef', 'pbaspect', 'pcg', 'pchip', 'pcolor', 'pcr', + 'peaks', 'periodogram', 'perl', 'perms', 'perror', 'pie', 'pie3', + 'pink', 'pinv', 'pkg', 'planerot', 'playaudio', 'plot', 'plot3', + 'plotmatrix', 'plotyy', 'poisscdf', 'poissinv', 'poisspdf', + 'poissrnd', 'pol2cart', 'polar', 'poly', 'polyaffine', 'polyarea', + 'polyder', 'polyderiv', 'polyfit', 'polygcd', 'polyint', 'polyout', + 'polyreduce', 'polyval', 'polyvalm', 'postpad', 'pow2', 'powerset', + 'ppder', 'ppint', 'ppjumps', 'ppplot', 'ppval', 'pqpnonneg', + 'prctile', 'prepad', 'primes', 'print', 'printAllBuiltins', + 'print_usage', 'prism', 'probit', 'profexplore', 'profile', + 'profshow', 'prop_test_2', 'python', 'qp', 'qqplot', 'qr', 'quad', + 'quadcc', 'quadgk', 'quadl', 'quadv', 'quantile', 'quiver', 'quiver3', + 'qz', 'qzhess', 'rainbow', 'rand', 'randi', 'range', 'rank', 'ranks', + 'rat', 'rcond', 'reallog', 'realpow', 'realsqrt', 'record', + 'rectangle', 'rectint', 'recycle', 'refresh', 'refreshdata', 'regexp', + 'regexptranslate', 'replot', 'repmat', 'residue', 'rgb2hsv', + 'rgb2ind', 'rgb2ntsc', 'ribbon', 'rindex', 'rmappdata', 'rmpref', + 'roots', 'rose', 'rosser', 'rot90', 'rotdim', 'rref', 'run', + 'run_count', 'run_test', 'rundemos', 'runlength', 'runtests', + 'saveas', 'saveaudio', 'saveimage', 'saveobj', 'savepath', 'scatter', + 'scatter3', 'schur', 'sec', 'secd', 'sech', 'semicolon', 'semilogx', + 'semilogxerr', 'semilogy', 'semilogyerr', 'setappdata', 'setaudio', + 'setdiff', 'setfield', 'setpref', 'setstr', 'setxor', 'shading', + 'shell_cmd', 'shg', 'shift', 'shiftdim', 'sign_test', 'sinc', 'sind', + 'sinetone', 'sinewave', 'skewness', 'slice', 'sombrero', 'sortrows', + 'spaugment', 'spconvert', 'spdiags', 'spearman', 'spectral_adf', + 'spectral_xdf', 'specular', 'speed', 'spencer', 'speye', 'spfun', + 'sph2cart', 'sphere', 'spinmap', 'spline', 'spones', 'spparms', + 'sprand', 'sprandn', 'sprandsym', 'spring', 'spstats', 'spy', 'sqp', + 'sqrtm', 'stairs', 'statistics', 'std', 'stdnormal_cdf', + 'stdnormal_inv', 'stdnormal_pdf', 'stdnormal_rnd', 'stem', 'stem3', + 'stft', 'str2double', 'str2num', 'strcat', 'strchr', 'strerror', + 'strfind', 'strjust', 'strmatch', 'strread', 'strsplit', 'strtok', + 'strtrim', 'strtrunc', 'structfun', 'studentize', 'sub2ind', + 'subplot', 'subsindex', 'subspace', 'substr', 'substruct', 'summer', + 'surf', 'surface', 'surfc', 'surfl', 'surfnorm', 'svd', 'svds', + 'swapbytes', 'syl', 'sylvester_matrix', 'symbfact', 'symrcm', + 'symvar', 'synthesis', 't_test', 't_test_2', 't_test_regression', + 'table', 'tand', 'tar', 'tcdf', 'tempdir', 'tempname', 'test', 'text', + 'textread', 'textscan', 'time', 'tinv', 'title', 'toeplitz', 'tpdf', + 'trace', 'trapz', 'treelayout', 'treeplot', 'tril', 'trimesh', + 'triplequad', 'triplot', 'trisurf', 'trnd', 'tsearch', 'tsearchn', + 'type', 'typecast', 'u_test', 'uicontextmenu', 'uicontrol', + 'uigetdir', 'uigetfile', 'uimenu', 'uipanel', 'uipushtool', + 'uiputfile', 'uiresume', 'uitoggletool', 'uitoolbar', 'uiwait', + 'unidcdf', 'unidinv', 'unidpdf', 'unidrnd', 'unifcdf', 'unifinv', + 'unifpdf', 'unifrnd', 'unimplemented', 'union', 'unique', 'unix', + 'unmkpp', 'unpack', 'untabify', 'untar', 'unwrap', 'unzip', + 'urlwrite', 'usejava', 'validatestring', 'values', 'vander', 'var', + 'var_test', 'vech', 'ver', 'version', 'view', 'voronoi', 'voronoin', + 'waitbar', 'waitforbuttonpress', 'warning_ids', 'wavread', 'wavwrite', + 'wblcdf', 'wblinv', 'wblpdf', 'wblrnd', 'weekday', 'weibcdf', + 'weibinv', 'weibpdf', 'weibrnd', 'welch_test', 'what', 'which', + 'white', 'whitebg', 'wienrnd', 'wilcoxon_test', 'wilkinson', 'winter', + 'xlabel', 'xlim', 'xor', 'ylabel', 'ylim', 'yulewalker', 'z_test', + 'z_test_2', 'zip', 'zlabel', 'zlim', 'zscore', 'airy', 'arrayfun', + 'besselh', 'besseli', 'besselk', 'bessely', 'bitpack', 'bitunpack', + 'blkmm', 'cellindexmat', 'cellslices', 'chol2inv', 'choldelete', + 'cholinsert', 'cholinv', 'cholshift', 'cholupdate', 'convn', + 'csymamd', 'cummax', 'cummin', 'daspk_options', 'dasrt_options', + 'dassl_options', 'endgrent', 'endpwent', 'etree', 'getgrgid', + 'getgrnam', 'getpwnam', 'getpwuid', 'gmtime', 'gui_mode', 'ifft', + 'ifft2', 'ifftn', 'ind2sub', 'inverse', 'localtime', 'lsode_options', + 'luupdate', 'mat2cell', 'min', 'mktime', 'mouse_wheel_zoom', + 'num2cell', 'num2hex', 'qrdelete', 'qrinsert', 'qrshift', 'qrupdate', + 'quad_options', 'rande', 'randg', 'randn', 'randp', 'randperm', + 'regexpi', 'regexprep', 'rsf2csf', 'setgrent', 'setpwent', 'sprank', + 'strftime', 'strptime', 'strrep', 'svd_driver', 'symamd', 'triu', + 'urlread' ), + // Private builtin + 7 => array( + '__accumarray_max__', '__accumarray_min__', '__accumarray_sum__', + '__accumdim_sum__', '__builtins__', '__calc_dimensions__', + '__current_scope__', '__display_tokens__', '__dump_symtab_info__', + '__end__', '__get__', '__go_axes__', '__go_axes_init__', + '__go_delete__', '__go_execute_callback__', '__go_figure__', + '__go_figure_handles__', '__go_handles__', '__go_hggroup__', + '__go_image__', '__go_line__', '__go_patch__', '__go_surface__', + '__go_text__', '__go_uicontextmenu__', '__go_uicontrol__', + '__go_uimenu__', '__go_uipanel__', '__go_uipushtool__', + '__go_uitoggletool__', '__go_uitoolbar__', '__gud_mode__', + '__image_pixel_size__', '__is_handle_visible__', '__isa_parent__', + '__keywords__', '__lexer_debug_flag__', '__list_functions__', + '__operators__', '__parent_classes__', '__parser_debug_flag__', + '__pathorig__', '__profiler_data__', '__profiler_enable__', + '__profiler_reset__', '__request_drawnow__', '__sort_rows_idx__', + '__token_count__', '__varval__', '__version_info__', '__which__' + ), + // Private Octave functions + 8 => array( + '__all_opts__', '__contourc__', '__delaunayn__', '__dispatch__', + '__dsearchn__', '__error_text__', '__finish__', '__fltk_uigetfile__', + '__glpk__', '__gnuplot_drawnow__', '__init_fltk__', + '__init_gnuplot__', '__lin_interpn__', '__magick_read__', + '__makeinfo__', '__pchip_deriv__', '__plt_get_axis_arg__', '__qp__', + '__voronoi__', '__fltk_maxtime__', '__fltk_redraw__', '__ftp__', + '__ftp_ascii__', '__ftp_binary__', '__ftp_close__', '__ftp_cwd__', + '__ftp_delete__', '__ftp_dir__', '__ftp_mget__', '__ftp_mkdir__', + '__ftp_mode__', '__ftp_mput__', '__ftp_pwd__', '__ftp_rename__', + '__ftp_rmdir__', '__magick_finfo__', '__magick_format_list__', + '__magick_write__' + ), + // Builtin Global Variables + 9 => array( + 'EDITOR', 'EXEC_PATH', 'F_DUPFD', 'F_GETFD', 'F_GETFL', 'F_SETFD', + 'F_SETFL', 'I', 'IMAGE_PATH', 'J', 'NA', 'OCTAVE_HOME', + 'OCTAVE_VERSION', 'O_APPEND', 'O_ASYNC', 'O_CREAT', 'O_EXCL', + 'O_NONBLOCK', 'O_RDONLY', 'O_RDWR', 'O_SYNC', 'O_TRUNC', 'O_WRONLY', + 'PAGER', 'PAGER_FLAGS', 'PS1', 'PS2', 'PS4', 'SEEK_CUR', 'SEEK_END', + 'SEEK_SET', 'SIG', 'S_ISBLK', 'S_ISCHR', 'S_ISDIR', 'S_ISFIFO', + 'S_ISLNK', 'S_ISREG', 'S_ISSOCK', 'WCONTINUE', 'WCOREDUMP', + 'WEXITSTATUS', 'WIFCONTINUED', 'WIFEXITED', 'WIFSIGNALED', + 'WIFSTOPPED', 'WNOHANG', 'WSTOPSIG', 'WTERMSIG', 'WUNTRACED' + ), //Function handle - 7 => array("@([A-Za-z_][A-Za-z1-9_]*)?"), + 10 => array("@([A-Za-z_][A-Za-z1-9_]*)?"), // Boolean // false and true can be used as functions too. // Do not highlight as boolean if followed by parentheses. - 8 => array("\b([false|true])(\b(?!(\s)*\()"), + 11 => array("\b([false|true])(\b(?!(\s)*\()"), // Decimal - 9 => array("\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), + 12 => array("\b([1-9][0-9]*|0)([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), // Floating point number - 10 => array("\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?" + 13 => array("\b([0-9]+[Ee][-]?[0-9]+|([0-9]*\.[0-9]+|[0-9]+\.)([Ee][-]?[0-9]+)?)[fFlL]?" ), // Octal number - 11 => array("\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), + 14 => array("\b0[0-7]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), // Hex number - 12 => array("\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), + 15 => array("\b0[xX][0-9a-fA-F]+([Uu]([Ll]|LL|ll)?|([Ll]|LL|ll)[Uu]?)?\b"), // Reserved constants // Most of the constants can be used as functions too. Do not highlight // as constants if followed by parentheses. - 13 => array("[e|eps|(J|j|I|i)|(Inf|inf)|(NaN|nan)|NA|ones|pi|rand|randn|zeros])(\b(?!(\s)*\()"), + 16 => array("[e|eps|(J|j|I|i)|(Inf|inf)|(NaN|nan)|NA|ones|pi|rand|randn|zeros])(\b(?!(\s)*\()"), // Package manager - 14 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") + 17 => array("(\b)pkg(?!(\s)*\()(\s)+(((un)?install|(un)?load|list|(global|local)_list|describe|prefix|(re)?build)(\b))?") ), - 'SYMBOLS' => array("((\.)?\+{1,2}?(?!\+) | (\.)?\-{1,2}?(?!\-) | - (\.)?\*{1,2}?(?!\*) | (\.)?\/(?!\^) | - (\.)?\\(?!\^) | (\.)?\^(?!\^) | - (?<=[0-9a-zA-Z_)\]}])(\.)?' | <=? | - >=? | != | ~= | == | <> | - &{1,2}?(?!&) | \|{1,2}?(?!\|) | ! | ~ | - = | : | ...)" - ), + 'SYMBOLS' => array( + '!', '!=', '"', '&', '&&', "'", + '*', '**', '+', '++', ',', '-', '--', ".'", '.*', '.**', '...', + './', '.^', '/', ':', ';', '<', '<=', '=', '==', '>', '>=', '^', + '|', '||', '~', '~=' + ), 'CASE_SENSITIVE' => array( GESHI_COMMENTS => false, 1 => false, @@ -375,7 +410,9 @@ 11 => false, 12 => false, 13 => false, - 14 => false + 14 => false, + 15 => false, + 16 => false ), 'STYLES' => array( 'KEYWORDS' => array( This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <raf...@us...> - 2012-05-23 09:50:39
|
Revision: 10500 http://octave.svn.sourceforge.net/octave/?rev=10500&view=rev Author: rafavzqz Date: 2012-05-23 09:50:30 +0000 (Wed, 23 May 2012) Log Message: ----------- Preallocating for speed Modified Paths: -------------- trunk/octave-forge/extra/nurbs/inst/curvederiveval.m Modified: trunk/octave-forge/extra/nurbs/inst/curvederiveval.m =================================================================== --- trunk/octave-forge/extra/nurbs/inst/curvederiveval.m 2012-05-22 22:34:07 UTC (rev 10499) +++ trunk/octave-forge/extra/nurbs/inst/curvederiveval.m 2012-05-23 09:50:30 UTC (rev 10500) @@ -39,6 +39,7 @@ du = min (d, p); span = findspan (n, p, u, U); + N = zeros (p+1, p+1); for ip=0:p N(1:ip+1,ip+1) = basisfun (span, u, ip, U)'; end This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-05-22 22:34:17
|
Revision: 10499 http://octave.svn.sourceforge.net/octave/?rev=10499&view=rev Author: benjf5 Date: 2012-05-22 22:34:07 +0000 (Tue, 22 May 2012) Log Message: ----------- Documented and added demo code for cubicwgt, nucorrcoeff, nuwaveletcoeff. Modified Paths: -------------- trunk/octave-forge/extra/lssa/cubicwgt.m trunk/octave-forge/extra/lssa/nucorrcoeff.m trunk/octave-forge/extra/lssa/nuwaveletcoeff.m Added Paths: ----------- trunk/octave-forge/extra/lssa/data/ trunk/octave-forge/extra/lssa/data/ch4.csv trunk/octave-forge/extra/lssa/data/co2.csv trunk/octave-forge/extra/lssa/data/deut.csv trunk/octave-forge/extra/lssa/data/dust.csv trunk/octave-forge/extra/lssa/data/o18.csv Modified: trunk/octave-forge/extra/lssa/cubicwgt.m =================================================================== --- trunk/octave-forge/extra/lssa/cubicwgt.m 2012-05-22 20:15:30 UTC (rev 10498) +++ trunk/octave-forge/extra/lssa/cubicwgt.m 2012-05-22 22:34:07 UTC (rev 10499) @@ -13,10 +13,28 @@ ## You should have received a copy of the GNU General Public License along with ## this program; if not, see <http://www.gnu.org/licenses/>. +## -*-texinfo-*- +## @deftypefn {Function File} {a =} cubicwgt {series} +## Return the series as windowed by a cubic polynomial, +## 1 + ( x ^ 2 * ( 2 x - 3 ) ), assuming x is in [-1,1]. +## @end deftypefn + +%!demo +%! h = 2; +%! hcw = cubicwgt(h) +%! m = 0.01; +%! mcw = cubicwgt(m) +%! k = [ 0 , 3 , 1.5, -1, -0.5, -0.25, 0.75 ]; +%! kcw = cubicwgt(k) +%! kt = k'; +%! ktcw = cubicwgt(kt); +%! ## Tests cubicwgt on two scalars and two vectors; cubicwgt will work on any array input. + + ## This function implements the windowing function on page 10 of the doc. ## if t is in [-1,1] then the windowed term is a = 1 + ( |t|^2 * ( 2|t| - 3 ) ## else the windowed term is 0. -function a = cubicwgt(t) ## where t is the set of time values - a = abs(t); +function a = cubicwgt(s) ## where s is the value to be windowed + a = abs(s); a = ifelse( ( a < 1 ), 1 + ( ( a .^ 2 ) .* ( 2 .* a - 3 ) ), a = 0); endfunction Added: trunk/octave-forge/extra/lssa/data/ch4.csv =================================================================== --- trunk/octave-forge/extra/lssa/data/ch4.csv (rev 0) +++ trunk/octave-forge/extra/lssa/data/ch4.csv 2012-05-22 22:34:07 UTC (rev 10499) @@ -0,0 +1,459 @@ +"","Depth.corrected","Ice.age..GT4.","Gas.age","CH4..ppbv." +"1",149.2,5683,2347,668 +"2",173.1,6828,3634,636 +"3",177.4,7043,3833,595 +"4",228.7,9528,6225,588 +"5",236.4,9901,6614,574 +"6",266,11334,8113,616 +"7",303.8,13526,10189,667 +"8",321.2,14538,11013,621 +"9",325,14775,11143,511 +"10",331.7,15215,11329,477 +"11",342.1,15922,11719,501 +"12",356,16974,12626,662 +"13",365.6,17755,13412,610 +"14",366.2,17803,13457,642 +"15",381.7,19089,14241,445 +"16",426.3,22829,16417,395 +"17",443.5,24315,17695,363 +"18",458.3,25557,18950,349 +"19",471,26595,20004,379 +"20",491.3,28356,21636,348 +"21",506.4,29630,22977,406 +"22",507.4,29716,23059,339 +"23",510.2,29967,23392,371 +"24",513.6,30250,23714,377 +"25",517.6,30591,24146,403 +"26",519.7,30761,24327,403 +"27",522.5,30998,24643,340 +"28",522.6,31011,24654,360 +"29",522.7,31020,24662,381 +"30",525.6,31266,24875,358 +"31",528.2,31487,25073,392 +"32",532.2,31828,25423,377 +"33",532.4,31845,25440,381 +"34",532.4,31845,25440,379 +"35",535,32058,25684,360 +"36",540,32465,25999,363 +"37",541.5,32583,26099,382 +"38",541.5,32583,26099,386 +"39",545.2,32887,26336,387 +"40",547,33042,26471,412 +"41",549.4,33240,26672,426 +"42",552,33461,26884,418 +"43",554.2,33646,27064,448 +"44",556.5,33833,27342,464 +"45",560.2,34136,27702,435 +"46",562.5,34318,27951,416 +"47",563.1,34371,28016,403 +"48",565.2,34530,28195,382 +"49",569.2,34832,28551,396 +"50",571.4,34985,28743,425 +"51",574.3,35210,28943,435 +"52",577.8,35464,29130,436 +"53",581.8,35766,29410,421 +"54",582.8,35839,29493,416 +"55",583.3,35876,29542,429 +"56",589.2,36346,30175,481 +"57",591.7,36558,30385,489 +"58",593.8,36729,30591,482 +"59",599.1,37157,31088,394 +"60",602.6,37444,31479,429 +"61",609.7,38013,32176,469 +"62",612,38203,32384,505 +"63",615.5,38491,32715,548 +"64",617.7,38678,32952,532 +"65",619.5,38826,33161,520 +"66",622.2,39039,33474,530 +"67",625.1,39268,33823,509 +"68",627.6,39464,34108,500 +"69",627.6,39464,34108,483 +"70",629.2,39593,34285,484 +"71",633.4,39917,34644,418 +"72",635.1,40060,34784,403 +"73",639.5,40424,35038,459 +"74",641.3,40573,35163,414 +"75",644.6,40841,35387,375 +"76",648,41112,35573,423 +"77",649.2,41209,35645,443 +"78",653.8,41551,35883,431 +"79",664.1,42305,36641,484 +"80",682,43702,38109,520 +"81",683,43785,38201,493 +"82",694.6,44764,39388,424 +"83",699.5,45181,39828,448 +"84",706.1,45770,40626,537 +"85",712.9,46360,41358,522 +"86",724.8,47360,42131,441 +"87",748.3,49296,43546,419 +"88",765.3,50634,44788,402 +"89",788.2,52446,47024,466 +"90",812,54457,49398,504 +"91",834.8,56300,51174,480 +"92",860.6,58258,52870,514 +"93",885.3,60288,55564,528 +"94",911.4,62633,57737,442 +"95",937.3,65016,59604,411 +"96",962.4,67405,61582,414 +"97",986.3,69627,63694,415 +"98",1011.3,71767,65701,434 +"99",1037.5,74017,68495,424 +"100",1062.2,76023,71014,458 +"101",1087.2,78042,72849,430 +"102",1112.6,80064,75367,462 +"103",1137.7,81921,76875,402 +"104",1162.1,83615,78995,438 +"105",1186.5,85262,81122,497 +"106",1209.7,86826,82843,545 +"107",1237.2,88808,84929,594 +"108",1261.2,90609,86323,529 +"109",1289.2,92632,88051,425 +"110",1309.2,94039,89363,417 +"111",1338.2,96047,91691,454 +"112",1363.7,97841,93660,443 +"113",1387.2,99498,95349,406 +"114",1413,101234,96900,407 +"115",1442.8,103125,99067,476 +"116",1451.4,103726,99833,480 +"117",1463.3,104574,100842,521 +"118",1476.1,105492,101829,493 +"119",1505,107599,103372,559 +"120",1526.2,109395,105204,591 +"121",1532,109872,105675,564 +"122",1542.1,110674,106203,437 +"123",1557.4,111923,107007,451 +"124",1582.8,113952,108994,468 +"125",1614.8,116215,111442,448 +"126",1627.7,117059,112559,443 +"127",1630.3,117221,112793,463 +"128",1637.7,117677,113479,505 +"129",1638.8,117747,113574,483 +"130",1643.4,118037,114031,497 +"131",1649,118376,114508,511 +"132",1654.5,118705,115060,485 +"133",1658.6,118958,115401,503 +"134",1664.5,119314,115768,520 +"135",1667.6,119504,116037,550 +"136",1669.5,119620,116200,531 +"137",1671.3,119728,116353,548 +"138",1674.2,119907,116605,575 +"139",1680,120259,117052,541 +"140",1684.5,120528,117342,555 +"141",1686.2,120623,117446,572 +"142",1688.4,120749,117589,590 +"143",1694,121079,117964,560 +"144",1694.6,121116,118010,573 +"145",1697.7,121296,118205,575 +"146",1704.7,121710,118631,563 +"147",1708.8,121941,118853,559 +"148",1714.2,122245,119164,589 +"149",1716,122345,119273,573 +"150",1719.4,122538,119499,584 +"151",1722.6,122718,119704,591 +"152",1731.2,123222,120320,603 +"153",1735.2,123443,120571,601 +"154",1736.8,123535,120652,578 +"155",1739,123658,120765,606 +"156",1744.3,123953,121090,592 +"157",1751.5,124348,121561,598 +"158",1754.3,124505,121752,594 +"159",1759.4,124787,122020,618 +"160",1765.5,125136,122367,592 +"161",1768.5,125298,122528,594 +"162",1770,125380,122606,600 +"163",1775.7,125692,122968,598 +"164",1780,125933,123279,604 +"165",1783.1,126109,123445,601 +"166",1786.8,126316,123677,622 +"167",1789.2,126447,123815,602 +"168",1789.4,126458,123826,630 +"169",1794.2,126710,124077,618 +"170",1797.8,126893,124244,619 +"171",1804.5,127236,124597,610 +"172",1814.8,127750,125176,649 +"173",1818.4,127930,125354,645 +"174",1819.6,127992,125424,623 +"175",1820.4,128032,125468,677 +"176",1824.6,128239,125679,672 +"177",1831,128549,126093,633 +"178",1832.3,128614,126200,644 +"179",1834.2,128712,126343,644 +"180",1834.7,128738,126380,636 +"181",1838.5,128932,126652,632 +"182",1844.8,129266,127008,638 +"183",1848.4,129450,127214,655 +"184",1852.3,129669,127440,666 +"185",1853.9,129752,127526,683 +"186",1857.4,129937,127716,653 +"187",1860.6,130111,127890,687 +"188",1863.8,130286,128080,708 +"189",1869.4,130605,128364,710 +"190",1870.2,130653,128399,699 +"191",1874.4,130904,128576,700 +"192",1875.5,130973,128632,704 +"193",1878.8,131178,128812,676 +"194",1883.3,131459,129062,552 +"195",1884.2,131519,129125,565 +"196",1888.6,131813,129348,540 +"197",1893.4,132149,129675,560 +"198",1897.9,132470,129898,524 +"199",1903.6,132880,130172,542 +"200",1910.9,133444,130549,492 +"201",1921.5,134310,131146,477 +"202",1922.3,134383,131195,491 +"203",1932.1,135318,131795,453 +"204",1954.6,137611,133340,431 +"205",1969.9,139296,134211,399 +"206",1980.2,140452,135003,352 +"207",1987.4,141257,135683,357 +"208",1994.7,142075,136367,374 +"209",1998,142440,136659,377 +"210",2005.9,143326,137393,348 +"211",2009.4,143720,137686,339 +"212",2016.4,144496,138408,318 +"213",2030.9,146122,140072,319 +"214",2042.5,147403,141422,345 +"215",2063.7,149756,143980,355 +"216",2088.6,152467,146784,356 +"217",2102.4,154026,148566,400 +"218",2109,154786,149406,418 +"219",2116,155625,150303,410 +"220",2119,155987,150633,376 +"221",2127.2,156981,151441,395 +"222",2137.1,158157,152562,445 +"223",2143,158819,153173,414 +"224",2153.4,159908,154129,382 +"225",2164,161077,155299,377 +"226",2167.2,161450,155706,406 +"227",2177.3,162574,157299,403 +"228",2180.4,162912,157806,381 +"229",2196.4,164820,159791,376 +"230",2225,168391,162996,405 +"231",2247,170922,165278,420 +"232",2273,174105,169266,478 +"233",2302,177644,172596,456 +"234",2312.3,179000,174189,402 +"235",2325,180546,175440,468 +"236",2348,183525,178550,503 +"237",2363,185640,180779,522 +"238",2373,187067,181718,464 +"239",2386,188892,183355,470 +"240",2399,190587,185063,510 +"241",2414,192382,187199,445 +"242",2425,193816,189335,440 +"243",2437,195298,191057,414 +"244",2475,199904,195625,460 +"245",2501,202717,199292,558 +"246",2525,205458,202212,612 +"247",2543,207803,204283,482 +"248",2552,208947,205148,425 +"249",2554.9,209310,205439,421 +"250",2557.7,209648,205715,413 +"251",2560.9,210056,206122,436 +"252",2564.9,210526,206675,466 +"253",2567.5,210840,207033,463 +"254",2570.4,211178,207418,455 +"255",2574.2,211628,207991,496 +"256",2575.5,211784,208183,475 +"257",2579.9,212295,208796,476 +"258",2581.9,212531,209078,485 +"259",2584.7,212846,209414,515 +"260",2588.5,213282,209975,473 +"261",2590.4,213503,210237,498 +"262",2595.1,214036,210830,567 +"263",2596.7,214219,211005,503 +"264",2600.4,214642,211481,509 +"265",2603.7,215011,211929,586 +"266",2606.6,215343,212281,551 +"267",2609.7,215685,212662,554 +"268",2612.5,216019,213010,545 +"269",2615.5,216377,213385,569 +"270",2621.7,217099,214153,581 +"271",2629,217944,214996,558 +"272",2633.5,218492,215504,568 +"273",2636.7,218908,215879,586 +"274",2639.5,219276,216310,544 +"275",2643.7,219835,216923,557 +"276",2646.4,220230,217253,541 +"277",2649.4,220678,217577,483 +"278",2656.2,221718,218342,440 +"279",2659.5,222273,218767,436 +"280",2666.7,223548,219680,476 +"281",2669.4,224060,220047,473 +"282",2674.6,224993,220760,498 +"283",2676.9,225380,220997,480 +"284",2682.6,226339,221612,482 +"285",2691,227885,222958,494 +"286",2693.6,228349,223446,532 +"287",2698,229167,224630,532 +"288",2700.5,229641,225136,512 +"289",2702.9,230076,225535,506 +"290",2705.6,230547,225888,497 +"291",2707.9,230945,226213,483 +"292",2711.8,231619,226726,484 +"293",2714.7,232092,227224,476 +"294",2717.7,232571,227840,445 +"295",2732.5,234771,230668,439 +"296",2735.7,235233,231383,460 +"297",2738.7,235652,231990,495 +"298",2741.9,236109,232615,502 +"299",2744.8,236498,233139,514 +"300",2747.6,236866,233646,541 +"301",2751.1,237301,234126,540 +"302",2753.6,237602,234470,550 +"303",2756.2,237889,234781,540 +"304",2759.2,238213,235222,554 +"305",2765.2,238907,236234,582 +"306",2771.2,239672,237466,619 +"307",2773.5,240010,237834,631 +"308",2776.5,240465,238199,650 +"309",2780,241055,238623,500 +"310",2782.8,241549,238943,554 +"311",2785.5,242091,239249,538 +"312",2788.5,242675,239545,522 +"313",2794.6,243821,240205,498 +"314",2797.5,244444,240576,484 +"315",2800.5,245091,240966,470 +"316",2806.5,246378,242067,509 +"317",2815.6,248369,243657,402 +"318",2818.5,249027,244198,437 +"319",2821.5,249668,244861,401 +"320",2824.5,250307,245481,380 +"321",2830.4,251542,246709,405 +"322",2833.8,252268,247436,399 +"323",2836.5,252876,248083,424 +"324",2839.5,253557,248977,447 +"325",2842.4,254218,249751,465 +"326",2845.5,254871,250460,467 +"327",2851.5,256180,251519,421 +"328",2854.4,256860,252183,410 +"329",2857.5,257602,252957,511 +"330",2860.5,258358,253889,486 +"331",2866.5,259879,255230,398 +"332",2870.4,260916,256038,408 +"333",2872.7,261510,256489,385 +"334",2876.2,262453,257245,402 +"335",2881.5,263865,258495,457 +"336",2884.5,264663,259226,445 +"337",2887.5,265454,259956,426 +"338",2890.5,266260,260759,448 +"339",2893.5,267040,261596,454 +"340",2896.4,267804,262388,448 +"341",2899.5,268556,263204,441 +"342",2902.5,269304,264042,442 +"343",2905.5,270050,264831,443 +"344",2911.4,271448,266485,417 +"345",2914.5,272177,267443,453 +"346",2917.5,272836,268273,429 +"347",2919.4,273254,268677,441 +"348",2926.5,274800,270677,484 +"349",2935.5,276729,273010,472 +"350",2941.5,278016,274443,508 +"351",2944.5,278704,275209,516 +"352",2951.2,280356,276867,522 +"353",2956.5,281738,277924,430 +"354",2964.5,283807,279541,430 +"355",2973.9,286496,282325,507 +"356",2979.5,288010,283491,464 +"357",2988.6,290551,286214,482 +"358",2994.5,292129,287852,522 +"359",2997.5,292853,288492,454 +"360",3000.4,293619,289444,433 +"361",3003.5,294493,290568,438 +"362",3009.5,296156,292472,475 +"363",3015.6,297835,293700,429 +"364",3018.5,298620,294611,468 +"365",3021.5,299407,295514,464 +"366",3027.7,300970,297181,460 +"367",3030.4,301671,298058,487 +"368",3033.5,302450,299016,486 +"369",3036.5,303199,299875,511 +"370",3039.5,303931,300639,545 +"371",3042.5,304738,301489,539 +"372",3045.5,305609,302452,603 +"373",3048.5,306552,303328,568 +"374",3051.5,307461,303951,588 +"375",3054.5,308352,304584,435 +"376",3057.7,309277,305303,443 +"377",3060.5,310076,306088,457 +"378",3063.5,310900,307124,478 +"379",3066.5,311701,308097,478 +"380",3072.5,313289,310035,488 +"381",3075.6,314077,310980,522 +"382",3078.5,314816,311769,570 +"383",3081.6,315590,312666,561 +"384",3084.6,316319,313510,589 +"385",3087.8,317098,314366,624 +"386",3090.5,317773,315139,620 +"387",3093.5,318507,315937,621 +"388",3096.4,319224,316674,639 +"389",3099.5,319976,317442,627 +"390",3102.5,320731,318261,637 +"391",3105.5,321446,318978,639 +"392",3109.5,322330,319871,636 +"393",3111.5,322753,320388,604 +"394",3114.8,323439,321383,604 +"395",3117.5,324019,322109,647 +"396",3119.7,324496,322618,665 +"397",3120.6,324718,322833,731 +"398",3123.5,325403,323488,773 +"399",3126.5,326197,324186,575 +"400",3129.9,327237,324991,581 +"401",3132.4,328055,325525,588 +"402",3135.5,329132,326236,558 +"403",3138.5,330287,327121,537 +"404",3141.5,331496,328084,517 +"405",3145,333066,329234,471 +"406",3147.5,334351,330204,451 +"407",3153.5,337299,332289,458 +"408",3156.5,338745,333600,371 +"409",3159.5,340342,335404,383 +"410",3162.8,341844,336967,342 +"411",3165.5,343109,338273,369 +"412",3169,344841,340163,422 +"413",3171.5,346049,341572,397 +"414",3174.5,347584,342993,442 +"415",3177.8,349293,344729,406 +"416",3180.5,350757,346095,384 +"417",3183.4,352372,347604,398 +"418",3186.5,354121,349160,391 +"419",3189.5,355789,350759,386 +"420",3192.5,357445,352406,392 +"421",3195.7,359181,354326,384 +"422",3199,360896,356202,399 +"423",3200,361445,356838,399 +"424",3201.4,362204,357728,396 +"425",3204.7,363957,359682,454 +"426",3207.5,365473,361167,422 +"427",3210.6,367094,362814,386 +"428",3213.7,368664,364471,397 +"429",3216.5,370069,366191,432 +"430",3219.5,371827,368105,463 +"431",3222.5,373615,369552,517 +"432",3225.5,375314,370919,405 +"433",3228.9,377171,373007,432 +"434",3231.5,378475,374567,482 +"435",3237.5,381820,378183,521 +"436",3240.5,383388,379625,445 +"437",3243.5,384986,381612,516 +"438",3246.5,386818,383527,542 +"439",3249.5,388758,384910,578 +"440",3252.5,390609,386543,567 +"441",3255.5,392628,388652,544 +"442",3258.5,394611,390567,439 +"443",3261.5,396400,392427,448 +"444",3264.5,398086,394620,478 +"445",3267.5,399720,396698,550 +"446",3270.6,401444,398575,574 +"447",3273.8,403146,400362,566 +"448",3276.5,404597,401860,598 +"449",3280.5,406690,404164,600 +"450",3283.5,408217,405823,672 +"451",3286.5,409724,407442,634 +"452",3289.5,411177,408995,644 +"453",3292.8,412968,410793,623 +"454",3295.5,414399,412182,626 +"455",3299,416327,414080,653 +"456",3301.4,417656,415452,678 +"457",3304.4,419336,417173,695 +"458",NA,NA,NA,NA Added: trunk/octave-forge/extra/lssa/data/co2.csv =================================================================== --- trunk/octave-forge/extra/lssa/data/co2.csv (rev 0) +++ trunk/octave-forge/extra/lssa/data/co2.csv 2012-05-22 22:34:07 UTC (rev 10499) @@ -0,0 +1,284 @@ +"","Depth..corrected.","Ice.age..GT4.","Gas.age","CO2..ppmv." +"1",149.1,5679,2342,284.7 +"2",173.1,6828,3634,272.8 +"3",177.4,7043,3833,268.1 +"4",228.6,9523,6220,262.2 +"5",250.3,10579,7327,254.6 +"6",266,11334,8113,259.6 +"7",302.6,13449,10123,261.6 +"8",321.2,14538,11013,263.7 +"9",331.6,15208,11326,244.8 +"10",342.1,15922,11719,238.3 +"11",365.5,17747,13405,236.2 +"12",375.6,18580,13989,225.3 +"13",443.5,24315,17695,182.2 +"14",470.8,26578,19988,189.2 +"15",506.4,29630,22977,191.6 +"16",544.7,32844,26303,188.5 +"17",554.2,33645,27062,191.7 +"18",602.3,37421,31447,205.4 +"19",625.6,39310,33884,209.1 +"20",700.2,45242,39880,209.1 +"21",765,50610,44766,189.3 +"22",788.2,52446,47024,188.4 +"23",800,53436,48229,210.1 +"24",812.2,54474,49414,215.7 +"25",834.8,56300,51174,190.4 +"26",902.2,61783,57068,221.8 +"27",912,62689,57799,210.4 +"28",986.2,69618,63687,195.4 +"29",1011.3,71767,65701,191.4 +"30",1023.5,72797,66883,195 +"31",1087.2,78042,72849,227.4 +"32",1112.5,80057,75360,229.2 +"33",1162.1,83615,78995,217.1 +"34",1175,84515,80059,221.8 +"35",1209.9,86840,82858,231 +"36",1237.2,88808,84929,241.1 +"37",1251.5,89864,85727,236.4 +"38",1261.2,90609,86323,228.1 +"39",1274.2,91560,87180,214.2 +"40",1289.2,92632,88051,217 +"41",1309.2,94039,89363,208 +"42",1338.2,96047,91691,224.3 +"43",1349,96791,92460,228.4 +"44",1387.2,99498,95349,232.1 +"45",1451.5,103733,99842,225.9 +"46",1463.2,104566,100833,230.9 +"47",1476.1,105492,101829,236.9 +"48",1505,107599,103372,228.2 +"49",1526.3,109404,105213,236.9 +"50",1542.1,110674,106203,230.7 +"51",1575.2,113363,108308,238.2 +"52",1582.8,113952,108994,245.7 +"53",1598,115077,110253,251.3 +"54",1615,116228,111456,256.8 +"55",1627.9,117072,112577,266.3 +"56",1637.6,117671,113472,261.4 +"57",1644,118074,114082,274.6 +"58",1651,118499,114738,273.3 +"59",1669.2,119601,116175,262.5 +"60",1687.2,120680,117519,267.6 +"61",1700.9,121485,118396,273.8 +"62",1716,122345,119273,272 +"63",1726.8,122965,120002,265.2 +"64",1736.8,123535,120652,277.7 +"65",1758.2,124721,121961,272.2 +"66",1770,125380,122606,276.5 +"67",1789.2,126447,123815,268.7 +"68",1790,126491,123858,266.6 +"69",1799,126955,124306,266.3 +"70",1804,127210,124571,279.8 +"71",1810,127510,124876,277.2 +"72",1825.7,128293,125746,273.8 +"73",1830,128501,126023,267.1 +"74",1836,128804,126475,262.5 +"75",1841.6,129097,126809,262.6 +"76",1852.4,129674,127445,275.4 +"77",1869.3,130599,128300,274.1 +"78",1870.2,130653,128399,287.1 +"79",1875.9,130998,128652,286.8 +"80",1882.5,131406,129007,282.7 +"81",1890,131908,129411,264.1 +"82",1895,132264,129755,263.4 +"83",1903.5,132873,130167,259 +"84",1932,135308,131789,240.4 +"85",1954.5,137601,133334,224 +"86",1969.8,139285,134205,208.9 +"87",1980.2,140452,135003,204.6 +"88",1987.4,141257,135683,198.1 +"89",1990.6,141615,135976,201.8 +"90",1994.6,142064,136359,202.5 +"91",1998,142440,136659,195.9 +"92",2005.8,143315,137383,194.4 +"93",2009.5,143732,137694,193.4 +"94",2015,144346,138226,190.2 +"95",2025.7,145527,139445,192.3 +"96",2041.5,147292,141312,196.5 +"97",2050.3,148287,142357,190.4 +"98",2077.5,151234,145435,197 +"99",2116,155625,150303,191.9 +"100",2157,160293,154471,189 +"101",2164,161077,155299,185.5 +"102",2203,165646,160494,204.4 +"103",2225,168391,162996,191.6 +"104",2247,170922,165278,183.8 +"105",2280,174920,169870,197.9 +"106",2302,177644,172596,197.8 +"107",2325,180546,175440,190.3 +"108",2333,181502,176271,190.1 +"109",2348,183525,178550,207.7 +"110",2363,185640,180779,213.2 +"111",2372,186927,181617,217.7 +"112",2386,188892,183355,199.8 +"113",2399,190587,185063,203.5 +"114",2414,192382,187199,210.7 +"115",2425,193816,189335,231.4 +"116",2437,195298,191057,231.5 +"117",2451,197086,192632,218 +"118",2475,199904,195625,220.1 +"119",2499,202496,199025,242.6 +"120",2525,205458,202212,251 +"121",2533,206496,203191,239.1 +"122",2543,207803,204283,247.7 +"123",2552.01,208947,205148,244.4 +"124",2557.71,209648,205715,232.2 +"125",2560.91,210053,206119,228.7 +"126",2574.21,211628,207991,238.2 +"127",2584.71,212846,209414,242.2 +"128",2588.81,213315,210022,244.6 +"129",2595.11,214036,210830,247.3 +"130",2596.71,214219,211005,252 +"131",2606.61,215343,212281,257.4 +"132",2621.71,217099,214153,251.2 +"133",2629.41,217989,215041,241.4 +"134",2634.41,218602,215593,240.3 +"135",2636.71,218908,215879,242.7 +"136",2640.41,219393,216459,247.5 +"137",2644.41,219935,217009,251.7 +"138",2646.61,220255,217271,251.2 +"139",2650.41,220822,217676,245.4 +"140",2656.21,221718,218342,240.5 +"141",2666.71,223548,219680,212.2 +"142",2670.41,224240,220182,216.2 +"143",2674.61,224993,220760,207.2 +"144",2677.41,225469,221054,208.9 +"145",2682.61,226339,221612,205.7 +"146",2691.01,227885,222958,203.4 +"147",2693.61,228349,223446,215.7 +"148",2698.01,229167,224630,236.9 +"149",2701.41,229802,225299,234.5 +"150",2702.71,230039,225509,233.1 +"151",2705.61,230547,225888,224.5 +"152",2711.71,231601,226710,232.4 +"153",2715.41,232206,227384,233.9 +"154",2717.71,232571,227840,241.7 +"155",2732.71,234795,230703,245.2 +"156",2735.71,235232,231382,252.2 +"157",2738.71,235652,231990,241.4 +"158",2741.71,236077,232570,247.4 +"159",2744.61,236467,233102,243.1 +"160",2747.61,236866,233646,239.2 +"161",2751.11,237301,234126,245.7 +"162",2753.61,237602,234470,245.9 +"163",2756.21,237889,234781,247.4 +"164",2759.11,238206,235213,252.9 +"165",2765.21,238908,236236,259.8 +"166",2773.51,240006,237831,279 +"167",2782.71,241535,238935,263.8 +"168",2785.51,242092,239250,252.4 +"169",2788.51,242675,239545,249.9 +"170",2794.51,243813,240201,230.4 +"171",2797.51,244446,240577,219.4 +"172",2806.51,246379,242068,214.7 +"173",2815.61,248364,243653,200.2 +"174",2818.61,249046,244215,213.9 +"175",2821.51,249670,244863,195.4 +"176",2824.51,250309,245483,196.7 +"177",2833.81,252279,247447,199 +"178",2836.51,252879,248087,201.9 +"179",2839.51,253559,248980,204 +"180",2845.51,254873,250461,203.9 +"181",2851.51,256182,251521,209.7 +"182",2857.51,257604,252959,208.9 +"183",2860.51,258351,253880,214.7 +"184",2866.51,259882,255233,228.2 +"185",2870.51,260936,256053,199.9 +"186",2872.71,261526,256501,211.7 +"187",2876.21,262455,257247,188.7 +"188",2881.42,263844,258477,194.2 +"189",2884.51,264666,259228,198.9 +"190",2887.51,265457,259958,184.7 +"191",2890.51,266255,260754,190.4 +"192",2893.51,267039,261595,193.9 +"193",2896.51,267825,262411,194.2 +"194",2899.51,268558,263207,198.4 +"195",2902.51,269307,264046,193.2 +"196",2905.51,270052,264834,202.2 +"197",2911.46,271454,266492,211 +"198",2914.51,272171,267434,215.4 +"199",2919.41,273256,268679,223.7 +"200",2926.51,274802,270680,231.4 +"201",2935.51,276731,273012,226.4 +"202",2941.51,278017,274445,230.4 +"203",2944.51,278711,275218,231 +"204",2956.51,281740,277925,220.4 +"205",2959.51,282539,278602,217.2 +"206",2964.51,283810,279543,207.7 +"207",2973.81,286475,282301,212.7 +"208",2979.51,288013,283492,213.2 +"209",2988.61,290554,286217,224.4 +"210",2994.51,292121,287846,236.2 +"211",3003.51,294495,290571,240.2 +"212",3007.01,295477,291769,240.7 +"213",3009.51,296158,292474,250.2 +"214",3015.51,297810,293676,244.9 +"215",3018.51,298623,294615,225.9 +"216",3022.71,299716,295849,227.9 +"217",3027.51,300928,297131,233.2 +"218",3030.41,301665,298051,237.9 +"219",3033.51,302452,299020,239 +"220",3036.51,303201,299877,241.9 +"221",3039.51,303939,300646,251.7 +"222",3042.51,304745,301496,256.8 +"223",3045.51,305612,302456,257.2 +"224",3048.56,306561,303334,246.9 +"225",3051.51,307464,303953,272.7 +"226",3054.51,308358,304590,251.7 +"227",3057.71,309281,305306,244.7 +"228",3063.51,310905,307131,255.9 +"229",3066.51,311704,308101,249.2 +"230",3072.51,313292,310039,256.3 +"231",3075.41,314032,310930,260.4 +"232",3078.51,314822,311774,260.3 +"233",3084.51,316304,313493,266.3 +"234",3090.51,317775,315143,266.2 +"235",3093.51,318509,315940,270.2 +"236",3096.46,319231,316681,271.9 +"237",3099.51,319978,317445,275.2 +"238",3105.51,321448,318980,265 +"239",3109.01,322216,319754,271.8 +"240",3111.51,322746,320378,272.7 +"241",3114.81,323441,321386,273.2 +"242",3117.51,324021,322111,282.4 +"243",3119.51,324461,322582,289.2 +"244",3120.61,324711,322827,288.4 +"245",3123.51,325400,323485,298.7 +"246",3126.51,326200,324189,278.2 +"247",3129.91,327237,324991,285.8 +"248",3132.41,328058,325527,278.7 +"249",3135.51,329135,326239,270.5 +"250",3138.51,330278,327114,255.7 +"251",3141.51,331513,328097,241.9 +"252",3145.01,333111,329267,239.7 +"253",3147.51,334356,330208,234.2 +"254",3153.51,337304,332293,250.2 +"255",3156.51,338770,333627,200.7 +"256",3159.51,340242,335290,205.2 +"257",3162.81,341849,336972,204.9 +"258",3169.01,344844,340165,220.4 +"259",3174.51,347589,342998,221.2 +"260",3177.81,349298,344735,216.2 +"261",3183.41,352377,347610,209.2 +"262",3189.51,355795,350765,193 +"263",3192.51,357450,352412,186.2 +"264",3200.01,361445,356838,201.2 +"265",3204.71,363962,359688,206.4 +"266",3210.51,367048,362766,201.9 +"267",3216.45,370095,366221,214.7 +"268",3222.51,373629,369563,229.7 +"269",3228.91,377177,373014,227 +"270",3231.51,378469,374561,240 +"271",3237.51,381834,378194,246.9 +"272",3240.51,383395,379633,245.9 +"273",3249.51,388757,384909,264.7 +"274",3252.45,390641,386579,259.3 +"275",3258.51,394634,390589,255.2 +"276",3261.51,396423,392451,250.2 +"277",3264.51,398091,394628,266.3 +"278",3267.51,399733,396713,274.7 +"279",3273.81,403173,400390,278 +"280",3283.51,408236,405844,279.7 +"281",3289.45,411202,409022,283.7 +"282",3292.91,413010,410831,276.3 +"283",3299.01,416332,414085,285.5 Added: trunk/octave-forge/extra/lssa/data/deut.csv =================================================================== --- trunk/octave-forge/extra/lssa/data/deut.csv (rev 0) +++ trunk/octave-forge/extra/lssa/data/deut.csv 2012-05-22 22:34:07 UTC (rev 10499) @@ -0,0 +1,3312 @@ +"","Depth.corrected","Ice.age..GT4.","deut","deltaTS" +"1",0,0,-438,0 +"2",1,17,-438,0 +"3",2,35,-438,0 +"4",3,53,-438,0 +"5",4,72,-438,0 +"6",5,91,-438,0 +"7",6,110,-438,0 +"8",7,129,-438,0 +"9",8,149,-442.9,-0.81 +"10",9,170,-437.9,0.02 +"11",10,190,-435.8,0.36 +"12",11,211,-443.7,-0.95 +"13",12,234,-449.1,-1.84 +"14",13,258,-444.6,-1.09 +"15",14,281,-442.5,-0.75 +"16",15,304,-439.3,-0.22 +"17",16,327,-440.9,-0.48 +"18",17,351,-442.5,-0.75 +"19",18,375,-436.6,0.23 +"20",19,397,-430,1.33 +"21",20,420,-435.9,0.35 +"22",21,444,-436.9,0.18 +"23",22,469,-438.5,-0.08 +"24",23,495,-444.5,-1.08 +"25",24,523,-446.4,-1.39 +"26",25,552,-447.7,-1.61 +"27",26,581,-443.4,-0.9 +"28",27,609,-441.6,-0.6 +"29",28,637,-438.1,-0.02 +"30",29,665,-439.1,-0.18 +"31",30,695,-445.4,-1.23 +"32",31,726,-447.3,-1.54 +"33",32,757,-443.1,-0.85 +"34",33,788,-438.6,-0.1 +"35",34,817,-439,-0.17 +"36",35,848,-442.7,-0.78 +"37",36,881,-442.7,-0.78 +"38",37,912,-439,-0.17 +"39",38,944,-439.5,-0.25 +"40",39,976,-439.7,-0.28 +"41",40,1009,-442.9,-0.81 +"42",41,1042,-438.3,-0.05 +"43",42,1074,-436.4,0.27 +"44",43,1107,-443,-0.83 +"45",44,1142,-441.9,-0.65 +"46",45,1176,-439.6,-0.27 +"47",46,1211,-441.9,-0.65 +"48",47,1247,-446.9,-1.48 +"49",48,1285,-447.9,-1.64 +"50",49,1321,-440.4,-0.4 +"51",50,1356,-436,0.33 +"52",51,1390,-438.3,-0.05 +"53",52,1426,-438.8,-0.13 +"54",53,1461,-438.2,-0.03 +"55",54,1497,-440.8,-0.46 +"56",55,1535,-444,-1 +"57",56,1573,-443.8,-0.96 +"58",57,1612,-446,-1.33 +"59",58,1652,-447.1,-1.51 +"60",59,1692,-443.3,-0.88 +"61",60,1732,-444.4,-1.06 +"62",61,1772,-445.3,-1.21 +"63",62,1812,-445.5,-1.24 +"64",63,1853,-443.8,-0.96 +"65",64,1893,-441.2,-0.53 +"66",65,1931,-437.1,0.15 +"67",66,1970,-439.7,-0.28 +"68",67,2009,-440.7,-0.45 +"69",68,2049,-440.3,-0.38 +"70",69,2089,-441.2,-0.53 +"71",70,2129,-441.7,-0.61 +"72",71,2171,-443.7,-0.95 +"73",72,2212,-442.4,-0.73 +"74",73,2253,-437.3,0.12 +"75",74,2291,-431,1.16 +"76",75,2331,-443.9,-0.98 +"77",76,2374,-446.7,-1.44 +"78",77,2418,-442.4,-0.73 +"79",78,2460,-441.8,-0.63 +"80",79,2501,-436.2,0.3 +"81",80,2542,-439.6,-0.27 +"82",81,2585,-446.2,-1.36 +"83",82,2628,-439,-0.17 +"84",83,2670,-438.1,-0.02 +"85",84,2713,-445.2,-1.19 +"86",85,2760,-449.9,-1.97 +"87",86,2805,-441.7,-0.61 +"88",87,2847,-434.5,0.58 +"89",88,2889,-440.3,-0.38 +"90",89,2934,-446.1,-1.34 +"91",90,2980,-446.5,-1.41 +"92",91,3026,-442.4,-0.73 +"93",92,3070,-439.5,-0.25 +"94",93,3114,-441.2,-0.53 +"95",94,3158,-438.5,-0.08 +"96",95,3201,-437.1,0.15 +"97",96,3245,-440.6,-0.43 +"98",97,3289,-441.7,-0.61 +"99",98,3334,-439.8,-0.3 +"100",99,3379,-438.8,-0.13 +"101",100,3422,-436.7,0.22 +"102",101,3466,-437,0.17 +"103",102,3511,-443.5,-0.91 +"104",103,3558,-443.4,-0.9 +"105",104,3603,-436.2,0.3 +"106",105,3646,-434.1,0.65 +"107",106,3689,-434.5,0.58 +"108",107,3732,-437.8,0.03 +"109",108,3778,-441.8,-0.63 +"110",109,3824,-440.8,-0.46 +"111",110,3870,-438,0 +"112",111,3915,-439.4,-0.23 +"113",112,3962,-442,-0.66 +"114",113,4009,-442.4,-0.73 +"115",114,4057,-442.5,-0.75 +"116",115,4104,-443.5,-0.91 +"117",116,4153,-444.6,-1.09 +"118",117,4202,-444,-1 +"119",118,4250,-441.2,-0.53 +"120",119,4295,-434.7,0.55 +"121",120,4339,-431.2,1.13 +"122",121,4381,-431.2,1.13 +"123",122,4423,-431.2,1.13 +"124",123,4466,-431.2,1.13 +"125",124,4509,-431.2,1.13 +"126",125,4552,-432.7,0.88 +"127",126,4596,-436.8,0.2 +"128",127,4642,-440,-0.33 +"129",128,4690,-443.3,-0.88 +"130",129,4739,-441.5,-0.58 +"131",130,4786,-436.5,0.25 +"132",131,4831,-438,0 +"133",132,4880,-444.9,-1.14 +"134",133,4929,-442,-0.66 +"135",134,4977,-440.2,-0.36 +"136",135,5025,-442,-0.66 +"137",136,5072,-437.2,0.13 +"138",137,5118,-436.9,0.18 +"139",138,5165,-440.3,-0.38 +"140",139,5212,-439.3,-0.22 +"141",140,5259,-436.3,0.28 +"142",141,5305,-437.4,0.1 +"143",142,5351,-437.5,0.08 +"144",143,5397,-435,0.5 +"145",144,5442,-435,0.5 +"146",145,5488,-436.8,0.2 +"147",146,5534,-437.9,0.02 +"148",147,5581,-437.5,0.08 +"149",148,5627,-437.8,0.03 +"150",149,5674,-438.37,-0.06 +"151",150,5721,-438.93,-0.15 +"152",151,5769,-439.5,-0.25 +"153",152,5816,-439.3,-0.22 +"154",153,5863,-437.1,0.15 +"155",154,5909,-435.3,0.45 +"156",155,5955,-438.8,-0.13 +"157",156,6004,-442.4,-0.73 +"158",157,6052,-439.25,-0.21 +"159",158,6099,-436.1,0.32 +"160",159,6145,-439,-0.17 +"161",160,6193,-440.2,-0.33 +"162",161,6241,-437.6,0.09 +"163",162,6287,-436.4,0.28 +"164",163,6334,-441.3,-0.55 +"165",164,6385,-447.5,-1.59 +"166",165,6436,-444.4,-1.09 +"167",166,6486,-439.6,-0.31 +"168",167,6534,-441.4,-0.62 +"169",168,6583,-441.5,-0.65 +"170",169,6631,-435.3,0.37 +"171",170,6677,-435.2,0.37 +"172",171,6724,-439.5,-0.36 +"173",172,6773,-442.3,-0.84 +"174",173,6823,-444.9,-1.28 +"175",174,6874,-444,-1.14 +"176",175,6924,-440.5,-0.58 +"177",176,6973,-440.5,-0.59 +"178",177,7023,-443.2,-1.05 +"179",178,7074,-444,-1.2 +"180",179,7124,-440.5,-0.63 +"181",180,7172,-436.5,0.02 +"182",181,7220,-436.8,-0.04 +"183",182,7267,-437.1,-0.11 +"184",183,7315,-438.1,-0.29 +"185",184,7364,-441.2,-0.81 +"186",185,7413,-439.7,-0.58 +"187",186,7462,-436,0.02 +"188",187,7509,-436.2,-0.03 +"189",188,7555,-433.1,0.48 +"190",189,7602,-436,-0.02 +"191",190,7649,-435.7,0.02 +"192",191,7697,-436,-0.04 +"193",192,7745,-440,-0.72 +"194",193,7794,-439,-0.57 +"195",194,7844,-440.9,-0.9 +"196",195,7894,-441,-0.93 +"197",196,7944,-439.5,-0.69 +"198",197,7994,-438.5,-0.54 +"199",198,8043,-439,-0.64 +"200",199,8091,-433.3,0.3 +"201",200,8135,-422.6,2.06 +"202",201,8178,-431.35,0.59 +"203",202,8226,-440.1,-0.87 +"204",203,8276,-439.5,-0.78 +"205",204,8325,-438,-0.55 +"206",205,8374,-435.9,-0.21 +"207",206,8422,-436.1,-0.26 +"208",207,8471,-437.6,-0.52 +"209",208,8520,-438.3,-0.65 +"210",209,8569,-438.4,-0.68 +"211",210,8619,-438.6,-0.73 +"212",211,8668,-437.5,-0.56 +"213",212,8716,-432,0.34 +"214",213,8763,-433.2,0.13 +"215",214,8811,-438.8,-0.81 +"216",215,8861,-437,-0.53 +"217",216,8910,-437,-0.54 +"218",217,8960,-439,-0.88 +"219",218,9009,-436.5,-0.48 +"220",219,9058,-436,-0.41 +"221",220,9107,-437.1,-0.6 +"222",221,9156,-436.5,-0.51 +"223",222,9204,-434.1,-0.13 +"224",223,9252,-431.7,0.26 +"225",224,9298,-433,0.03 +"226",225,9346,-435.5,-0.39 +"227",226,9396,-438,-0.82 +"228",227,9445,-437.2,-0.7 +"229",228,9494,-433.9,-0.16 +"230",229,9542,-433.8,-0.16 +"231",230,9589,-430.2,0.43 +"232",231,9635,-429.6,0.51 +"233",232,9682,-435.4,-0.46 +"234",233,9732,-437.4,-0.8 +"235",234,9782,-437.6,-0.85 +"236",235,9831,-436.9,-0.74 +"237",236,9881,-434.5,-0.36 +"238",237,9929,-434.5,-0.37 +"239",238,9978,-436.1,-0.65 +"240",239,10027,-433.8,-0.28 +"241",240,10075,-434.9,-0.47 +"242",241,10124,-435.5,-0.58 +"243",242,10172,-430,0.31 +"244",243,10218,-428.7,0.52 +"245",244,10265,-432.8,-0.18 +"246",245,10315,-439.5,-1.3 +"247",246,10366,-437.4,-0.97 +"248",247,10415,-434.1,-0.43 +"249",248,10465,-436,-0.76 +"250",249,10515,-436,-0.77 +"251",250,10564,-436,-0.79 +"252",251,10614,-436.6,-0.9 +"253",252,10665,-436.9,-0.96 +"254",253,10715,-435.2,-0.7 +"255",254,10764,-432.5,-0.26 +"256",255,10812,-433.5,-0.44 +"257",256,10861,-434.5,-0.62 +"258",257,10910,-431.6,-0.15 +"259",258,10957,-431.3,-0.12 +"260",259,11005,-431.9,-0.23 +"261",260,11053,-430.3,0.02 +"262",261,11100,-429.8,0.09 +"263",262,11146,-425.8,0.74 +"264",263,11191,-425.3,0.81 +"265",264,11237,-431.2,-0.18 +"266",265,11286,-433,-0.48 +"267",266,11334,-431.7,-0.27 +"268",267,11383,-434.5,-0.73 +"269",268,11434,-437.4,-1.22 +"270",269,11485,-437.8,-1.29 +"271",270,11537,-439.5,-1.57 +"272",271,11590,-439.6,-1.59 +"273",272,11642,-439.7,-1.61 +"274",273,11695,-441,-1.83 +"275",274,11749,-443.2,-2.2 +"276",275,11805,-444.2,-2.37 +"277",276,11861,-447.1,-2.85 +"278",277,11918,-445.3,-2.55 +"279",278,11973,-443.1,-2.19 +"280",279,12029,-447,-2.84 +"281",280,12087,-448.5,-3.09 +"282",281,12144,-446.5,-2.77 +"283",282,12202,-447.3,-2.9 +"284",283,12261,-453.2,-3.88 +"285",284,12323,-455,-4.18 +"286",285,12385,-453.6,-3.96 +"287",286,12446,-451.5,-3.61 +"288",287,12507,-452.4,-3.76 +"289",288,12569,-455.3,-4.25 +"290",289,12632,-455.3,-4.25 +"291",290,12694,-453.27,-3.91 +"292",291,12755,-451.23,-3.57 +"293",292,12815,-449.2,-3.24 +"294",293,12874,-450.2,-3.4 +"295",294,12934,-450.8,-3.5 +"296",295,12994,-451.8,-3.67 +"297",296,13055,-452.9,-3.85 +"298",297,13116,-452.3,-3.75 +"299",298,13177,-452.1,-3.72 +"300",299,13237,-450.5,-3.45 +"301",300,13296,-448.8,-3.17 +"302",301,13355,-448.8,-3.17 +"303",302,13414,-451.8,-3.67 +"304",303,13476,-455.5,-4.28 +"305",304,13539,-453.9,-4.02 +"306",305,13600,-451.2,-3.57 +"307",306,13659,-449.4,-3.27 +"308",307,13718,-447.2,-2.91 +"309",308,13774,-442.9,-2.19 +"310",309,13828,-442,-2.04 +"311",310,13883,-443.2,-2.24 +"312",311,13938,-442.1,-2.06 +"313",312,13992,-443.65,-2.32 +"314",313,14048,-445.2,-2.57 +"315",314,14105,-446.75,-2.83 +"316",315,14163,-448.3,-3.08 +"317",316,14221,-449.85,-3.34 +"318",317,14281,-451.4,-3.6 +"319",318,14342,-452.95,-3.85 +"320",319,14404,-454.5,-4.11 +"321",320,14466,-451.7,-3.64 +"322",321,14526,-452.8,-3.82 +"323",322,14589,-456,-4.34 +"324",323,14651,-453.8,-3.98 +"325",324,14713,-453.5,-3.92 +"326",325,14775,-454.8,-4.14 +"327",326,14839,-457.1,-4.52 +"328",327,14904,-458.1,-4.68 +"329",328,14968,-456.7,-4.44 +"330",329,15032,-458,-4.66 +"331",330,15099,-462,-5.32 +"332",331,15167,-462.5,-5.4 +"333",332,15234,-460.1,-5 +"334",333,15300,-459,-4.81 +"335",334,15366,-458.6,-4.74 +"336",335,15432,-461.1,-5.15 +"337",336,15501,-464.5,-5.71 +"338",337,15570,-463.8,-5.6 +"339",338,15639,-462.9,-5.44 +"340",339,15708,-463.7,-5.57 +"341",340,15777,-462,-5.29 +"342",341,15845,-462.4,-5.35 +"343",342,15915,-467.5,-6.19 +"344",343,15987,-466.3,-5.99 +"345",344,16057,-464.9,-5.75 +"346",345,16128,-466.9,-6.08 +"347",346,16201,-468.5,-6.34 +"348",347,16275,-470.9,-6.74 +"349",348,16350,-471.8,-6.88 +"350",349,16426,-471.8,-6.88 +"351",350,16502,-471,-6.74 +"352",351,16577,-471.2,-6.77 +"353",352,16653,-472.4,-6.97 +"354",353,16729,-473.6,-7.16 +"355",354,16808,-475.6,-7.49 +"356",355,16889,-480.7,-8.33 +"357",356,16974,-481.8,-8.51 +"358",357,17058,-479,-8.04 +"359",358,17139,-476.4,-7.6 +"360",359,17219,-476,-7.53 +"361",360,17298,-475.5,-7.45 +"362",361,17379,-479.4,-8.09 +"363",362,17462,-480.5,-8.27 +"364",363,17544,-477,-7.68 +"365",364,17625,-477.6,-7.78 +"366",365,17706,-478,-7.84 +"367",366,17787,-477.9,-7.82 +"368",367,17868,-477.3,-7.72 +"369",368,17949,-477.5,-7.75 +"370",369,18031,-480.15,-8.19 +"371",370,18116,-482.8,-8.63 +"372",371,18201,-480,-8.16 +"373",372,18283,-478.4,-7.89 +"374",373,18365,-477.5,-7.74 +"375",374,18446,-478.9,-7.97 +"376",375,18530,-482.1,-8.5 +"377",376,18615,-481.7,-8.43 +"378",377,18701,-483.5,-8.73 +"379",378,18787,-481.9,-8.46 +"380",379,18870,-476.6,-7.58 +"381",380,18950,-476.9,-7.63 +"382",381,19032,-479.8,-8.11 +"383",382,19116,-480.7,-8.26 +"384",383,19199,-479.35,-8.03 +"385",384,19282,-478,-7.81 +"386",385,19362,-476.4,-7.54 +"387",386,19443,-477.4,-7.7 +"388",387,19525,-480.1,-8.15 +"389",388,19610,-481.9,-8.45 +"390",389,19696,-483.5,-8.71 +"391",390,19782,-482.4,-8.52 +"392",391,19868,-482.9,-8.61 +"393",392,19953,-479.2,-7.99 +"394",393,20035,-477,-7.62 +"395",394,20116,-478.3,-7.84 +"396",395,20197,-476.4,-7.52 +"397",396,20278,-478.2,-7.82 +"398",397,20361,-480,-8.11 +"399",398,20444,-479.8,-8.08 +"400",399,20528,-479.5,-8.03 +"401",400,20611,-479.6,-8.04 +"402",401,20694,-479.1,-7.96 +"403",402,20777,-478.6,-7.87 +"404",403,20859,-479,-7.94 +"405",404,20943,-480.1,-8.12 +"406",405,21026,-480,-8.1 +"407",406,21110,-479,-7.93 +"408",407,21192,-478.9,-7.91 +"409",408,21275,-478.9,-7.91 +"410",409,21358,-479.45,-8 +"411",410,21442,-480,-8.09 +"412",411,21525,-477.8,-7.73 +"413",412,21605,-475.6,-7.36 +"414",413,21686,-477.4,-7.66 +"415",414,21769,-480.9,-8.24 +"416",415,21854,-481.5,-8.33 +"417",416,21939,-480.2,-8.12 +"418",417,22023,-480.4,-8.15 +"419",418,22108,-482,-8.41 +"420",419,22196,-484.5,-8.82 +"421",420,22284,-484.5,-8.82 +"422",421,22371,-482.3,-8.45 +"423",422,22457,-481.4,-8.3 +"424",423,22543,-481.85,-8.37 +"425",424,22629,-482.3,-8.45 +"426",425,22716,-482.75,-8.52 +"427",426,22803,-483.2,-8.59 +"428",427,22888,-479.5,-7.97 +"429",428,22972,-479.2,-7.92 +"430",429,23057,-482.7,-8.5 +"431",430,23145,-484.5,-8.8 +"432",431,23234,-485.1,-8.89 +"433",432,23324,-485.8,-9.01 +"434",433,23412,-483,-8.54 +"435",434,23497,-478.3,-7.76 +"436",435,23581,-480.95,-8.2 +"437",436,23668,-483.6,-8.63 +"438",437,23755,-483.6,-8.63 +"439",438,23843,-483.6,-8.63 +"440",439,23931,-482.5,-8.44 +"441",440,24017,-481.4,-8.26 +"442",441,24102,-480,-8.03 +"443",442,24186,-479.1,-7.87 +"444",443,24272,-484,-8.68 +"445",444,24363,-488.3,-9.39 +"446",445,24453,-482.7,-8.46 +"447",446,24537,-477.1,-7.53 +"448",447,24619,-477,-7.51 +"449",448,24700,-477,-7.5 +"450",449,24781,-475.5,-7.25 +"451",450,24860,-474,-7 +"452",451,24941,-477.45,-7.57 +"453",452,25024,-480.9,-8.14 +"454",453,25109,-480,-7.98 +"455",454,25193,-479.1,-7.83 +"456",455,25277,-478.2,-7.68 +"457",456,25360,-479.5,-7.89 +"458",457,25445,-481.8,-8.27 +"459",458,25531,-481,-8.13 +"460",459,25615,-478.4,-7.7 +"461",460,25697,-474.5,-7.05 +"462",461,25776,-474.1,-6.98 +"463",462,25855,-475.8,-7.26 +"464",463,25936,-476,-7.29 +"465",464,26017,-477.1,-7.47 +"466",465,26099,-477.2,-7.48 +"467",466,26180,-475.3,-7.16 +"468",467,26261,-475.8,-7.24 +"469",468,26342,-477.7,-7.55 +"470",469,26425,-479.3,-7.82 +"471",470,26510,-480.7,-8.05 +"472",471,26595,-481,-8.09 +"473",472,26681,-481,-8.09 +"474",473,26766,-478.9,-7.74 +"475",474,26849,-477.8,-7.56 +"476",475,26933,-479.9,-7.9 +"477",476,27019,-484.4,-8.64 +"478",477,27110,-486.7,-9.02 +"479",478,27202,-486.7,-9.02 +"480",479,27293,-485.5,-8.82 +"481",480,27382,-484.3,-8.62 +"482",481,27470,-481.4,-8.14 +"483",482,27555,-479.6,-7.84 +"484",483,27641,-482.3,-8.28 +"485",484,27730,-484.6,-8.66 +"486",485,27819,-483.8,-8.52 +"487",486,27907,-482.3,-8.27 +"488",487,27993,-481.2,-8.09 +"489",488,28079,-480.1,-7.9 +"490",489,28163,-478.85,-7.69 +"491",490,28247,-477.6,-7.49 +"492",491,28331,-481.7,-8.16 +"493",492,28420,-485.7,-8.82 +"494",493,28510,-483.58,-8.47 +"495",494,28597,-481.47,-8.12 +"496",495,28683,-479.35,-7.77 +"497",496,28766,-477.23,-7.42 +"498",497,28848,-475.12,-7.07 +"499",498,28927,-473,-6.71 +"500",499,29006,-473,-6.71 +"501",500,29085,-474.62,-6.98 +"502",501,29166,-476.24,-7.25 +"503",502,29249,-477.86,-7.52 +"504",503,29332,-479.48,-7.79 +"505",504,29418,-481.1,-8.05 +"506",505,29505,-482.9,-8.35 +"507",506,29594,-483,-8.37 +"508",507,29682,-482.8,-8.33 +"509",508,29771,-484.3,-8.58 +"510",509,29861,-483.4,-8.43 +"511",510,29949,-482.6,-8.3 +"512",511,30036,-480.5,-7.95 +"513",512,30120,-475.6,-7.14 +"514",513,30201,-474.9,-7.02 +"515",514,30283,-478.5,-7.62 +"516",515,30368,-479.8,-7.83 +"517",516,30453,-479.3,-7.75 +"518",517,30538,-478.63,-7.64 +"519",518,30622,-477.95,-7.52 +"520",519,30705,-477.27,-7.41 +"521",520,30788,-476.6,-7.3 +"522",521,30871,-478.6,-7.63 +"523",522,30957,-480.5,-7.95 +"524",523,31043,-480.8,-8 +"525",524,31130,-481.1,-8.05 +"526",525,31216,-479.9,-7.85 +"527",526,31302,-478.7,-7.65 +"528",527,31387,-479.4,-7.77 +"529",528,31473,-481,-8.03 +"530",529,31560,-482,-8.2 +"531",530,31648,-480.4,-7.93 +"532",531,31733,-477.2,-7.4 +"533",532,31815,-475.6,-7.14 +"534",533,31896,-473.4,-6.77 +"535",534,31976,-473.2,-6.74 +"536",535,32056,-473.5,-6.79 +"537",536,32137,-475.3,-7.09 +"538",537,32219,-476.4,-7.27 +"539",538,32300,-472.4,-6.61 +"540",539,32380,-475.2,-7.07 +"541",540,32463,-477.7,-7.49 +"542",541,32546,-474.7,-6.99 +"543",542,32626,-472.5,-6.62 +"544",543,32705,-473,-6.71 +"545",544,32787,-477.6,-7.47 +"546",545,32871,-477.6,-7.47 +"547",546,32955,-476.5,-7.29 +"548",547,33039,-478.3,-7.59 +"549",548,33124,-478.4,-7.6 +"550",549,33209,-478.4,-7.6 +"551",550,33293,-476.8,-7.34 +"552",551,33376,-475.2,-7.07 +"553",552,33459,-477.4,-7.44 +"554",553,33544,-478,-7.54 +"555",554,33628,-476.6,-7.31 +"556",555,33711,-475.5,-7.12 +"557",556,33793,-475.8,-7.17 +"558",557,33877,-476.9,-7.36 +"559",558,33960,-475.8,-7.17 +"560",559,34041,-471.9,-6.53 +"561",560,34121,-474,-6.88 +"562",561,34202,-473.3,-6.76 +"563",562,34281,-470.2,-6.25 +"564",563,34360,-472.3,-6.59 +"565",564,34438,-469.2,-6.08 +"566",565,34515,-468.8,-6.01 +"567",566,34592,-469.6,-6.15 +"568",567,34669,-467.9,-5.87 +"569",568,34744,-466.9,-5.7 +"570",569,34818,-463.5,-5.14 +"571",570,34889,-461.6,-4.82 +"572",571,34960,-463,-5.05 +"573",572,35033,-465.8,-5.52 +"574",573,35108,-468.6,-5.98 +"575",574,35185,-468.1,-5.9 +"576",575,35261,-467.6,-5.82 +"577",576,35336,-465,-5.39 +"578",577,35409,-464.1,-5.24 +"579",578,35482,-464.9,-5.37 +"580",579,35556,-466,-5.55 +"581",580,35631,-466.6,-5.65 +"582",581,35705,-465.1,-5.41 +"583",582,35780,-466.4,-5.62 +"584",583,35855,-467,-5.72 +"585",584,35930,-467.3,-5.77 +"586",585,36007,-470,-6.22 +"587",586,36086,-471.1,-6.4 +"588",587,36166,-472.9,-6.7 +"589",588,36248,-474.9,-7.03 +"590",589,36331,-476,-7.22 +"591",590,36416,-478.9,-7.7 +"592",591,36502,-476.5,-7.3 +"593",592,36585,-472.7,-6.67 +"594",593,36666,-474.5,-6.97 +"595",594,36748,-472.6,-6.65 +"596",595,36827,-468.8,-6.02 +"597",596,36905,-470.6,-6.32 +"598",597,36985,-472.4,-6.62 +"599",598,37066,-473.25,-6.76 +"600",599,37148,-474.1,-6.9 +"601",600,37230,-474.1,-6.9 +"602",601,37313,-474.5,-6.97 +"603",602,37396,-475.9,-7.2 +"604",603,37479,-473.5,-6.8 +"605",604,37558,-468.5,-5.97 +"606",605,37637,-471,-6.38 +"607",606,37718,-474,-6.88 +"608",607,37799,-472.3,-6.6 +"609",608,37880,-471.4,-6.45 +"610",609,37959,-470.5,-6.3 +"611",610,38039,-471.3,-6.43 +"612",611,38120,-472.7,-6.66 +"613",612,38201,-473.5,-6.8 +"614",613,38284,-474.5,-6.96 +"615",614,38367,-475.3,-7.09 +"616",615,38451,-475.8,-7.18 +"617",616,38535,-475.8,-7.18 +"618",617,38619,-474.4,-6.94 +"619",618,38702,-473.1,-6.73 +"620",619,38783,-472.85,-6.69 +"621",620,38865,-472.6,-6.64 +"622",621,38946,-472.35,-6.6 +"623",622,39027,-472.1,-6.56 +"624",623,39107,-470,-6.21 +"625",624,39185,-468.3,-5.93 +"626",625,39263,-468.3,-5.93 +"627",626,39341,-469.7,-6.16 +"628",627,39420,-470.2,-6.24 +"629",628,39499,-470.2,-6.24 +"630",629,39579,-469.5,-6.13 +"631",630,39657,-469.5,-6.13 +"632",631,39735,-468.2,-5.91 +"633",632,39812,-465.6,-5.48 +"634",633,39889,-470.2,-6.24 +"635",634,39971,-474.5,-6.96 +"636",635,40054,-474.2,-6.91 +"637",636,40138,-476,-7.21 +"638",637,40223,-475.2,-7.07 +"639",638,40305,-470.6,-6.31 +"640",639,40386,-471.8,-6.51 +"641",640,40468,-474.2,-6.91 +"642",641,40551,-473,-6.71 +"643",642,40632,-472.1,-6.56 +"644",643,40714,-472.8,-6.67 +"645",644,40796,-471.5,-6.46 +"646",645,40875,-467.2,-5.74 +"647",646,40952,-467.2,-5.74 +"648",647,41031,-471,-6.37 +"649",648,41112,-472.3,-6.59 +"650",649,41191,-468.1,-5.89 +"651",650,41268,-463.9,-5.19 +"652",651,41342,-463.4,-5.11 +"653",652,41415,-462.9,-5.02 +"654",653,41489,-463.3,-5.09 +"655",654,41564,-465.7,-5.48 +"656",655,41638,-461.6,-4.8 +"657",656,41710,-460,-4.53 +"658",657,41782,-463.3,-5.08 +"659",658,41855,-461.7,-4.81 +"660",659,41927,-460.9,-4.68 +"661",660,42001,-464.5,-5.27 +"662",661,42077,-467,-5.69 +"663",662,42152,-462.8,-4.99 +"664",663,42225,-460.8,-4.65 +"665",664,42298,-464.7,-5.3 +"666",665,42374,-467.1,-5.7 +"667",666,42451,-465.3,-5.4 +"668",667,42527,-465.9,-5.49 +"669",668,42603,-465.5,-5.43 +"670",669,42679,-467.1,-5.69 +"671",670,42758,-469.8,-6.13 +"672",671,42837,-468.7,-5.95 +"673",672,42916,-468.3,-5.88 +"674",673,42994,-468.6,-5.93 +"675",674,43073,-467.8,-5.8 +"676",675,43150,-466.2,-5.53 +"677",676,43226,-466,-5.5 +"678",677,43304,-469.3,-6.04 +"679",678,43385,-471.8,-6.45 +"680",679,43464,-465.6,-5.42 +"681",680,43540,-465.9,-5.47 +"682",681,43619,-473.2,-6.68 +"683",682,43702,-472.7,-6.6 +"684",683,43785,-472,-6.48 +"685",684,43868,-474.8,-6.94 +"686",685,43952,-474.4,-6.88 +"687",686,44036,-473.5,-6.72 +"688",687,44120,-475.1,-6.99 +"689",688,44206,-476.8,-7.27 +"690",689,44292,-474.8,-6.94 +"691",690,44377,-475,-6.97 +"692",691,44463,-478.3,-7.51 +"693",692,44551,-476,-7.13 +"694",693,44634,-470.1,-6.15 +"695",694,44715,-472.5,-6.55 +"696",695,44800,-477.9,-7.44 +"697",696,44887,-475.5,-7.04 +"698",697,44972,-473.3,-6.68 +"699",698,45055,-473.6,-6.72 +"700",699,45139,-473.4,-6.69 +"701",700,45225,-477.7,-7.4 +"702",701,45315,-482.3,-8.16 +"703",702,45407,-480.8,-7.91 +"704",703,45497,-479.2,-7.64 +"705",704,45587,-481,-7.94 +"706",705,45677,-477.6,-7.38 +"707",706,45762,-472.6,-6.55 +"708",707,45846,-474.9,-6.93 +"709",708,45932,-475.4,-7.01 +"710",709,46018,-475.5,-7.02 +"711",710,46104,-477.7,-7.39 +"712",711,46193,-477.7,-7.38 +"713",712,46281,-478.2,-7.47 +"714",713,46370,-478.5,-7.51 +"715",714,46457,-476.3,-7.15 +"716",715,46543,-474.1,-6.78 +"717",716,46628,-474.8,-6.9 +"718",717,46713,-474.9,-6.91 +"719",718,46797,-472.3,-6.48 +"720",719,46881,-473.7,-6.71 +"721",720,46966,-475,-6.92 +"722",721,47050,-473.5,-6.67 +"723",722,47133,-471.2,-6.29 +"724",723,47214,-469,-5.92 +"725",724,47295,-470.5,-6.17 +"726",725,47378,-473.9,-6.73 +"727",726,47462,-472.8,-6.55 +"728",727,47546,-474.2,-6.78 +"729",728,47631,-475.5,-6.99 +"730",729,47716,-471.7,-6.36 +"731",730,47798,-471.2,-6.28 +"732",731,47881,-474,-6.74 +"733",732,47966,-474.7,-6.85 +"734",733,48050,-472.3,-6.46 +"735",734,48134,-473.5,-6.65 +"736",735,48218,-472.5,-6.49 +"737",736,48300,-469.7,-6.02 +"738",737,48381,-469.9,-6.05 +"739",738,48461,-468.4,-5.8 +"740",739,48541,-468.6,-5.83 +"741",740,48622,-471.2,-6.26 +"742",741,48704,-471.8,-6.36 +"743",742,48787,-472.5,-6.48 +"744",743,48870,-472,-6.39 +"745",744,48953,-471.1,-6.24 +"746",745,49034,-468.2,-5.76 +"747",746,49113,-468.3,-5.77 +"748",747,49193,-469,-5.89 +"749",748,49272,-466.7,-5.51 +"750",749,49350,-466.7,-5.51 +"751",750,49430,-469,-5.89 +"752",751,49510,-469.5,-5.97 +"753",752,49591,-470.1,-6.07 +"754",753,49672,-468.3,-5.78 +"755",754,49750,-465.4,-5.3 +"756",755,49828,-467.1,-5.58 +"757",756,49907,-467.2,-5.6 +"758",757,49985,-464.7,-5.18 +"759",758,50061,-463.8,-5.03 +"760",759,50138,-466.3,-5.45 +"761",760,50217,-467.8,-5.7 +"762",761,50295,-465.8,-5.37 +"763",762,50374,-466.8,-5.54 +"764",763,50452,-466.8,-5.54 +"765",764,50531,-467.5,-5.65 +"766",765,50610,-467,-5.57 +"767",766,50688,-464.7,-5.19 +"768",767,50766,-467.9,-5.72 +"769",768,50847,-470,-6.07 +"770",769,50928,-468.9,-5.89 +"771",770,51009,-468,-5.74 +"772",771,51086,-463,-4.91 +"773",772,51159,-456.1,-3.77 +"774",773,51230,-459.5,-4.34 +"775",774,51306,-465.8,-5.38 +"776",775,51384,-467.1,-5.6 +"777",776,51465,-470.8,-6.21 +"778",777,51549,-473.1,-6.6 +"779",778,51633,-472.1,-6.43 +"780",779,51715,-466.3,-5.47 +"781",780,51794,-467,-5.59 +"782",781,51874,-469.6,-6.02 +"783",782,51955,-466.8,-5.56 +"784",783,52034,-466.8,-5.56 +"785",784,52114,-468.3,-5.81 +"786",785,52195,-468.5,-5.84 +"787",786,52275,-466.7,-5.55 +"788",787,52352,-463.6,-5.03 +"789",788,52430,-467,-5.6 +"790",789,52511,-470.2,-6.13 +"791",790,52594,-470.8,-6.23 +"792",791,52679,-473.7,-6.71 +"793",792,52763,-470.3,-6.15 +"794",793,52846,-470,-6.1 +"795",794,52931,-475,-6.93 +"796",795,53019,-476.5,-7.18 +"797",796,53107,-475.8,-7.07 +"798",797,53193,-471.5,-6.36 +"799",798,53275,-467.2,-5.65 +"800",799,53355,-466.6,-5.55 +"801",800,53436,-469.6,-6.05 +"802",801,53520,-473.2,-6.65 +"803",802,53606,-473.2,-6.65 +"804",803,53692,-472.6,-6.55 +"805",804,53775,-469.5,-6.04 +"806",805,53858,-470.6,-6.22 +"807",806,53942,-472.2,-6.49 +"808",807,54026,-470.1,-6.14 +"809",808,54111,-472.85,-6.6 +"810",809,54198,-475.6,-7.06 +"811",810,54286,-475,-6.96 +"812",811,54372,-471.6,-6.4 +"813",812,54457,-472.4,-6.53 +"814",813,54544,-474,-6.8 +"815",814,54629,-470.2,-6.17 +"816",815,54713,-471.3,-6.35 +"817",816,54797,-470.9,-6.29 +"818",817,54881,-471.3,-6.36 +"819",818,54967,-473.4,-6.71 +"820",819,55052,-471,-6.31 +"821",820,55136,-470.1,-6.16 +"822",821,55218,-466.6,-5.58 +"823",822,55297,-465.1,-5.34 +"824",823,55377,-467,-5.65 +"825",824,55457,-465.6,-5.42 +"826",825,55536,-464.3,-5.21 +"827",826,55615,-465.6,-5.43 +"828",827,55694,-466.3,-5.54 +"829",828,55775,-467.9,-5.81 +"830",829,55855,-464.4,-5.23 +"831",830,55933,-461.8,-4.8 +"832",831,56009,-463.5,-5.09 +"833",832,56087,-462.7,-4.95 +"834",833,56163,-461.2,-4.71 +"835",834,56239,-462.5,-4.92 +"836",835,56317,-463.6,-5.11 +"837",836,56394,-461.5,-4.76 +"838",837,56471,-463.5,-5.09 +"839",838,56548,-463.5,-5.1 +"840",839,56624,-459,-4.35 +"841",840,56698,-459.4,-4.42 +"842",841,56774,-462.2,-4.88 +"843",842,56850,-459.7,-4.47 +"844",843,56922,-455.1,-3.71 +"845",844,56993,-454.9,-3.68 +"846",845,57065,-457.9,-4.18 +"847",846,57139,-460.1,-4.54 +"848",847,57215,-461.2,-4.73 +"849",848,57289,-456.9,-4.01 +"850",849,57362,-457.1,-4.05 +"851",850,57436,-461.9,-4.85 +"852",851,57513,-461.9,-4.85 +"853",852,57590,-462,-4.86 +"854",853,57669,-467.5,-5.78 +"855",854,57750,-465.9,-5.51 +"856",855,57828,-460.7,-4.65 +"857",856,57905,-462.7,-4.98 +"858",857,57981,-460.7,-4.65 +"859",858,58057,-460.5,-4.62 +"860",859,58133,-462.2,-4.9 +"861",860,58211,-462.6,-4.96 +"862",861,58286,-458.4,-4.27 +"863",862,58360,-458.1,-4.22 +"864",863,58436,-462.4,-4.93 +"865",864,58514,-464.1,-5.21 +"866",865,58594,-466.8,-5.66 +"867",866,58676,-468,-5.86 +"868",867,58759,-469.2,-6.06 +"869",868,58842,-468.4,-5.93 +"870",869,58925,-467.9,-5.85 +"871",870,59008,-469.1,-6.04 +"872",871,59093,-471.3,-6.41 +"873",872,59178,-470.7,-6.31 +"874",873,59262,-468,-5.86 +"875",874,59345,-467.9,-5.85 +"876",875,59428,-469,-6.03 +"877",876,59511,-468,-5.86 +"878",877,59593,-466,-5.53 +"879",878,59674,-466,-5.53 +"880",879,59755,-466,-5.53 +"881",880,59836,-467.7,-5.81 +"882",881,59921,-471.8,-6.49 +"883",882,60007,-472,-6.53 +"884",883,60093,-469.7,-6.15 +"885",884,60177,-469.5,-6.11 +"886",885,60262,-470,-6.2 +"887",886,60348,-471.5,-6.45 +"888",887,60433,-470.6,-6.3 +"889",888,60519,-470.5,-6.28 +"890",889,60605,-472,-6.53 +"891",890,60692,-472.3,-6.58 +"892",891,60779,-472.5,-6.61 +"893",892,60869,-476.7,-7.31 +"894",893,60961,-477.7,-7.48 +"895",894,61052,-474.7,-6.98 +"896",895,61141,-473.7,-6.81 +"897",896,61229,-472,-6.53 +"898",897,61317,-474.1,-6.88 +"899",898,61406,-474,-6.86 +"900",899,61496,-474.8,-7 +"901",900,61586,-476.4,-7.26 +"902",901,61677,-474,-6.86 +"903",902,61765,-471.8,-6.5 +"904",903,61852,-472.4,-6.6 +"905",904,61941,-474.8,-7 +"906",905,62031,-475.4,-7.1 +"907",906,62121,-475.1,-7.05 +"908",907,62213,-477.5,-7.44 +"909",908,62307,-479.2,-7.72 +"910",909,62401,-478.7,-7.64 +"911",910,62497,-481.4,-8.09 +"912",911,62594,-481,-8.02 +"913",912,62689,-478.9,-7.67 +"914",913,62783,-478.1,-7.54 +"915",914,62877,-477.9,-7.51 +"916",915,62970,-477.9,-7.51 +"917",916,63064,-477.9,-7.51 +"918",917,63157,-477.9,-7.51 +"919",918,63249,-475.5,-7.11 +"920",919,63338,-471.4,-6.43 +"921",920,63424,-470.4,-6.26 +"922",921,63512,-473.9,-6.84 +"923",922,63600,-472.8,-6.66 +"924",923,63688,-471.3,-6.41 +"925",924,63776,-473.8,-6.83 +"926",925,63865,-473.8,-6.82 +"927",926,63954,-473.6,-6.79 +"928",927,64043,-474.5,-6.94 +"929",928,64134,-476.5,-7.27 +"930",929,64228,-479.1,-7.7 +"931",930,64322,-478.2,-7.55 +"932",931,64416,-477.3,-7.4 +"933",932,64510,-480.4,-7.91 +"934",933,64605,-477.5,-7.43 +"935",934,64698,-477.9,-7.49 +"936",935,64793,-480.8,-7.97 +"937",936,64890,-480.5,-7.92 +"938",937,64987,-482,-8.17 +"939",938,65085,-480.9,-7.98 +"940",939,65182,-480.7,-7.95 +"941",940,65278,-479.6,-7.76 +"942",941,65371,-476.5,-7.25 +"943",942,65464,-478,-7.49 +"944",943,65559,-479.3,-7.71 +"945",944,65655,-482,-8.15 +"946",945,65756,-486.2,-8.85 +"947",946,65855,-479.6,-7.75 +"948",947,65949,-477.5,-7.4 +"949",948,66045,-482.4,-8.21 +"950",949,66144,-483,-8.31 +"951",950,66243,-481.5,-8.06 +"952",951,66338,-477.1,-7.33 +"953",952,66429,-474.4,-6.88 +"954",953,66520,-475.6,-7.07 +"955",954,66613,-479.6,-7.73 +"956",955,66708,-479.8,-7.76 +"957",956,66803,-478.5,-7.54 +"958",957,66898,-479.7,-7.73 +"959",958,66992,-478,-7.44 +"960",959,67085,-476.7,-7.22 +"961",960,67178,-478.2,-7.47 +"962",961,67272,-479.2,-7.63 +"963",962,67367,-478.6,-7.52 +"964",963,67462,-480.3,-7.8 +"965",964,67557,-479.8,-7.71 +"966",965,67653,-480.7,-7.86 +"967",966,67750,-482.5,-8.15 +"968",967,67848,-481.9,-8.04 +"969",968,67945,-481,-7.89 +"970",969,68041,-479,-7.55 +"971",970,68136,-480.5,-7.8 +"972",971,68233,-483.4,-8.27 +"973",972,68330,-479.7,-7.65 +"974",973,68424,-478.5,-7.45 +"975",974,68520,-481.9,-8.01 +"976",975,68617,-481.5,-7.94 +"977",976,68715,-483.1,-8.2 +"978",977,68811,-479.5,-7.59 +"979",978,68902,-472.1,-6.36 +"980",979,68987,-468.8,-5.81 +"981",980,69071,-470.7,-6.12 +"982",981,69155,-467.7,-5.62 +"983",982,69238,-468.5,-5.75 +"984",983,69324,-474.2,-6.69 +"985",984,69413,-475.6,-6.92 +"986",985,69506,-479.4,-7.54 +"987",986,69599,-478.1,-7.33 +"988",987,69691,-476,-6.97 +"989",988,69780,-473.5,-6.55 +"990",989,69869,-474.7,-6.75 +"991",990,69959,-478.1,-7.31 +"992",991,70054,-481.3,-7.84 +"993",992,70149,-480.6,-7.72 +"994",993,70243,-476.6,-7.05 +"995",994,70334,-476.8,-7.08 +"996",995,70425,-477.9,-7.26 +"997",996,70515,-473.5,-6.52 +"998",997,70600,-468.4,-5.67 +"999",998,70683,-468.4,-5.67 +"1000",999,70766,-468.4,-5.67 +"1001",1000,70848,-468.4,-5.66 +"1002",1001,70931,-468.4,-5.66 +"1003",1002,71013,-468.7,-5.7 +"1004",1003,71096,-469,-5.75 +"1005",1004,71180,-470.1,-5.93 +"1006",1005,71264,-470.5,-5.99 +"1007",1006,71347,-467.2,-5.44 +"1008",1007,71427,-465.5,-5.15 +"1009",1008,71506,-462.2,-4.6 +"1010",1009,71584,-466.4,-5.3 +"1011",1010,71664,-465.8,-5.2 +"1012",1011,71743,-463.5,-4.81 +"1013",1012,71822,-466.8,-5.36 +"1014",1013,71905,-471.5,-6.13 +"1015",1014,71989,-468,-5.55 +"1016",1015,72070,-467,-5.38 +"1017",1016,72152,-468.9,-5.69 +"1018",1017,72235,-469.6,-5.81 +"1019",1018,72318,-469.7,-5.82 +"1020",1019,72403,-472.5,-6.28 +"1021",1020,72489,-474,-6.53 +"1022",1021,72578,-476.2,-6.89 +"1023",1022,72666,-473.2,-6.39 +"1024",1023,72753,-474.7,-6.64 +"1025",1024,72840,-470.7,-5.97 +"1026",1025,72922,-466.6,-5.29 +"1027",1026,73003,-469.5,-5.77 +"1028",1027,73087,-470.9,-6 +"1029",1028,73172,-472.8,-6.31 +"1030",1029,73258,-473.6,-6.44 +"1031",1030,73347,-477.6,-7.1 +"1032",1031,73440,-481.9,-7.81 +"1033",1032,73533,-476.8,-6.96 +"1034",1033,73620,-471.6,-6.1 +"1035",1034,73706,-474.7,-6.61 +"1036",1035,73795,-477.8,-7.12 +"1037",1036,73885,-476.2,-6.85 +"1038",1037,73973,-473.8,-6.45 +"1039",1038,74060,-474.5,-6.56 +"1040",1039,74150,-478.2,-7.17 +"1041",1040,74238,-473,-6.31 +"1042",1041,74322,-470.6,-5.91 +"1043",1042,74405,-468.9,-5.62 +"1044",1043,74484,-463.6,-4.74 +"1045",1044,74565,-471.4,-6.03 +"1046",1045,74651,-476.8,-6.92 +"1047",1046,74738,-470.5,-5.87 +"1048",1047,74821,-470.4,-5.85 +"1049",1048,74903,-469.4,-5.68 +"1050",1049,74985,-469,-5.61 +"1051",1050,75066,-467.8,-5.41 +"1052",1051,75147,-469.7,-5.72 +"1053",1052,75229,-467.9,-5.42 +"1054",1053,75308,-466.1,-5.12 +"1055",1054,75388,-467.3,-5.32 +"1056",1055,75468,-467.9,-5.41 +"1057",1056,75547,-466.2,-5.13 +"1058",1057,75625,-463.4,-4.66 +"1059",1058,75701,-462.6,-4.53 +"1060",1059,75776,-461.8,-4.39 +"1061",1060,75850,-461.6,-4.35 +"1062",1061,75928,-468,-5.41 +"1063",1062,76007,-465.5,-5 +"1064",1063,76084,-464.5,-4.83 +"1065",1064,76162,-466.9,-5.23 +"1066",1065,76239,-461.7,-4.37 +"1067",1066,76313,-459.8,-4.05 +"1068",1067,76388,-464.3,-4.8 +"1069",1068,76465,-466,-5.08 +"1070",1069,76543,-466.5,-5.16 +"1071",1070,76622,-466.9,-5.22 +"1072",1071,76700,-465.1,-4.92 +"1073",1072,76777,-463.6,-4.67 +"1074",1073,76854,-466.1,-5.09 +"1075",1074,76933,-468.6,-5.5 +"1076",1075,77014,-468.4,-5.47 +"1077",1076,77094,-468.1,-5.42 +"1078",1077,77175,-471,-5.9 +"1079",1078,77259,-473.6,-6.33 +"1080",1079,77345,-475.9,-6.71 +"1081",1080,77433,-478.5,-7.14 +"1082",1081,77521,-475.2,-6.59 +"1083",1082,77606,-470.5,-5.81 +"1084",1083,77687,-470.2,-5.76 +"1085",1084,77769,-470.5,-5.81 +"1086",1085,77853,-474.4,-6.45 +"1087",1086,77938,-474.8,-6.52 +"1088",1087,78025,-475.4,-6.62 +"1089",1088,78113,-479.4,-7.28 +"1090",1089,78200,-472,-6.06 +"1091",1090,78277,-458.5,-3.82 +"1092",1091,78353,-469.9,-5.71 +"1093",1092,78437,-476.4,-6.79 +"1094",1093,78522,-472.4,-6.12 +"1095",1094,78606,-473.6,-6.32 +"1096",1095,78690,-472,-6.06 +"1097",1096,78772,-470.3,-5.78 +"1098",1097,78854,-470.9,-5.87 +"1099",1098,78937,-473.1,-6.24 +"1100",1099,79020,-471.1,-5.91 +"1101",1100,79098,-464.4,-4.8 +"1102",1101,79174,-464.4,-4.8 +"1103",1102,79251,-465.6,-5 +"1104",1103,79327,-464.2,-4.76 +"1105",1104,79402,-461.6,-4.33 +"1106",1105,79478,-468.2,-5.43 +"1107",1106,79557,-468.6,-5.5 +"1108",1107,79636,-467,-5.23 +"1109",1108,79714,-465.2,-4.93 +"1110",1109,79791,-467.3,-5.28 +"1111",1110,79870,-468.1,-5.41 +"1112",1111,79947,-465.3,-4.95 +"1113",1112,80020,-457.5,-3.66 +"1114",1113,80093,-464.8,-4.87 +"1115",1114,80173,-473.9,-6.38 +"1116",1115,80257,-472.3,-6.11 +"1117",1116,80341,-474,-6.39 +"1118",1117,80422,-468.1,-5.41 +"1119",1118,80498,-462.3,-4.45 +"1120",1119,80572,-461.1,-4.25 +"1121",1120,80645,-462,-4.4 +"1122",1121,80719,-464.1,-4.75 +"1123",1122,80794,-464.1,-4.75 +"1124",1123,80869,-462.6,-4.5 +"1125",1124,80943,-463.6,-4.67 +"1126",1125,81019,-465.2,-4.93 +"1127",1126,81096,-466.8,-5.2 +"1128",1127,81170,-459.8,-4.04 +"1129",1128,81240,-455.3,-3.29 +"1130",1129,81309,-458.8,-3.87 +"1131",1130,81381,-462.3,-4.45 +"1132",1131,81453,-458.9,-3.89 +"1133",1132,81523,-455.5,-3.33 +"1134",1133,81592,-458.3,-3.79 +"1135",1134,81662,-458.3,-3.79 +"1136",1135,81732,-458.4,-3.81 +"1137",1136,81802,-458,-3.74 +"1138",1137,81872,-457.9,-3.73 +"1139",1138,81942,-458.5,-3.83 +"1140",1139,82012,-456.4,-3.48 +"1141",1140,82080,-456.9,-3.56 +"1142",1141,82148,-453.6,-3.01 +"1143",1142,82213,-450.7,-2.54 +"1144",1143,82280,-457.4,-3.65 +"1145",1144,82352,-464.6,-4.85 +"1146",1145,82427,-463,-4.59 +"1147",1146,82500,-461.3,-4.31 +"1148",1147,82573,-462.6,-4.53 +"1149",1148,82647,-463.9,-4.75 +"1150",1149,82721,-461,-4.27 +"1151",1150,82792,-458,-3.78 +"1152",1151,82860,-453.9,-3.1 +"1153",1152,82925,-449.8,-2.42 +"1154",1153,82990,-453.1,-2.98 +"1155",1154,83055,-450.7,-2.58 +"1156",1155,83121,-456,-3.46 +"1157",1156,83190,-458.7,-3.92 +"1158",1157,83261,-458.8,-3.94 +"1159",1158,83331,-458.8,-3.94 +"1160",1159,83401,... [truncated message content] |