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: <par...@us...> - 2012-06-27 15:05:36
|
Revision: 10698 http://octave.svn.sourceforge.net/octave/?rev=10698&view=rev Author: paramaniac Date: 2012-06-27 15:05:30 +0000 (Wed, 27 Jun 2012) Log Message: ----------- control-devel: describe iddata properties in help text Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m Modified: trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m 2012-06-27 11:24:46 UTC (rev 10697) +++ trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m 2012-06-27 15:05:30 UTC (rev 10698) @@ -58,6 +58,53 @@ ## iddata identification dataset. ## @end table ## +## @strong{Option Keys and Values} +## @table @var +## @item 'expname' +## The name of the experiments in @var{dat}. +## Cell vector of length e containing strings. +## Default names are @code{@{'exp1', 'exp2', ...@}} +## +## @item 'y' +## Output signals. See 'Inputs' for details. +## +## @item 'outname' +## The name of the output channels in @var{dat}. +## Cell vector of length p containing strings. +## Default names are @code{@{'y1', 'y2', ...@}} +## +## @item 'outunit' +## The units of the output channels in @var{dat}. +## Cell vector of length p containing strings. +## +## @item 'u' +## Input signals. See 'Inputs' for details. +## +## @item 'inname' +## The name of the input channels in @var{dat}. +## Cell vector of length m containing strings. +## Default names are @code{@{'u1', 'u2', ...@}} +## +## @item 'inunit' +## The units of the input channels in @var{dat}. +## Cell vector of length m containing strings. +## +## @item 'tsam' +## Sampling time. See 'Inputs' for details. +## +## @item 'timeunit' +## The units of the sampling times in @var{dat}. +## Cell vector of length e containing strings. +## +## @item 'name' +## String containing the name of the dataset. +## +## @item 'notes' +## String or cell of string containing comments. +## +## @item 'userdata' +## Any data type. +## @end table ## @end deftypefn ## Author: Lukas Reichlin <luk...@gm...> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-27 11:24:57
|
Revision: 10697 http://octave.svn.sourceforge.net/octave/?rev=10697&view=rev Author: paramaniac Date: 2012-06-27 11:24:46 +0000 (Wed, 27 Jun 2012) Log Message: ----------- control-devel: use correct titles for frequency domain datasets, mention time series in doc Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/@iddata/display.m trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m Modified: trunk/octave-forge/extra/control-devel/inst/@iddata/display.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/@iddata/display.m 2012-06-26 23:15:34 UTC (rev 10696) +++ trunk/octave-forge/extra/control-devel/inst/@iddata/display.m 2012-06-27 11:24:46 UTC (rev 10697) @@ -31,14 +31,22 @@ [n, p, m, e] = size (dat); - str = ["Time domain dataset '", datname, "' containing ", num2str(sum(n)), " samples"]; + if (dat.timedomain) + domain = "Time"; + sf = "Samples"; + else + domain = "Frequency"; + sf = "Frequencies"; + endif + + str = [domain, " domain dataset '", datname, "' containing ", num2str(sum(n)), " ", lower(sf)]; disp (""); disp (str); disp (""); disp (__horzcat__ (__col2str__ (expname, "Experiment"), \ - __vec2str__ (n, "Samples"), \ + __vec2str__ (n, sf), \ __vec2str__ (cell2mat (dat.tsam), "Sampling Interval"))); disp (""); disp (__horzcat__ (__col2str__ (outname, "Outputs"), \ Modified: trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m 2012-06-26 23:15:34 UTC (rev 10696) +++ trunk/octave-forge/extra/control-devel/inst/@iddata/iddata.m 2012-06-27 11:24:46 UTC (rev 10697) @@ -40,6 +40,8 @@ ## e-by-1 or 1-by-e cell vector of n(i)-by-m matrices, ## where @var{e} denotes the number of experiments ## and n(i) the individual number of samples for each experiment. +## If @var{u} is not specified or an empy element @code{[]} is passed, +## @var{dat} becomes a time series dataset. ## @item tsam ## Sampling time. If not specified, default value -1 (unspecified) is taken. ## For multi-experiment data, @var{tsam} becomes a This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <sch...@us...> - 2012-06-26 23:15:40
|
Revision: 10696 http://octave.svn.sourceforge.net/octave/?rev=10696&view=rev Author: schloegl Date: 2012-06-26 23:15:34 +0000 (Tue, 26 Jun 2012) Log Message: ----------- kalman_maar: compilation on x64_86 fixed Modified Paths: -------------- trunk/octave-forge/extra/tsa/src/Makefile trunk/octave-forge/extra/tsa/src/kalman_maar.cpp Modified: trunk/octave-forge/extra/tsa/src/Makefile =================================================================== --- trunk/octave-forge/extra/tsa/src/Makefile 2012-06-25 21:51:50 UTC (rev 10695) +++ trunk/octave-forge/extra/tsa/src/Makefile 2012-06-26 23:15:34 UTC (rev 10696) @@ -15,11 +15,11 @@ MEX_OPTION += -largeArrayDims # Mingw crosscompiler: available at http://www.nongnu.org/mingw-cross-env/ -CROSS = $(HOME)/src/mingw-cross-env/usr/bin/i686-pc-mingw32- -CROSS64 = $(HOME)/src/mce-w64/usr/bin/x86_64-w64-mingw32- +CROSS = $(HOME)/src/mxe/usr/bin/i686-pc-mingw32 +CROSS64 = $(HOME)/src/mce-w64/usr/bin/x86_64-static-mingw32 # include directory for Win32-Matlab include -W32MAT_INC = $(HOME)/bin/win32/Matlab/R2010b/extern/include/ -W64MAT_INC = $(HOME)/bin/win64/Matlab/R2010b/extern/include/ +W32MAT_INC = -I$(HOME)/bin/win32/Matlab/R2010b/extern/include/ +W64MAT_INC = -I$(HOME)/bin/win64/Matlab/R2010b/extern/include/ # path to GNUMEX libraries, available from here http://sourceforge.net/projects/gnumex/ GNUMEX = $(HOME)/bin/win32/gnumex GNUMEX64 = $(HOME)/bin/win64/gnumex @@ -27,7 +27,17 @@ # http://sourceforge.net/mailarchive/forum.php?thread_name=AANLkTinZvxgC9ezp2P3UCX_a7TAUYuVsp2U40MQUV6qr%40mail.gmail.com&forum_name=gnumex-users # Instead of building "mex shortpath.c" and "mex uigetpath.c", I used empty m-functions within argout=argin; #################################################### +W32MAT_INC += -I$(subst /usr/bin/,/usr/,$(CROSS))/include/ +W64MAT_INC += -I$(subst /usr/bin/,/usr/,$(CROSS64))/include/ +LDLIBS_W32 = $(subst /usr/bin/,/usr/,$(CROSS))/lib/ +LDLIBS_W64 = $(subst /usr/bin/,/usr/,$(CROSS64))/lib/ +W32_LIBS = $(LDLIBS_W32)liblapack.a +W64_LIBS = $(LDLIBS_W64)liblapack.a +W32_LIBS += $(LDLIBS_W32)libblas.a +W64_LIBS += $(LDLIBS_W64)libblas.a + + CC = gcc CXX = g++ CFLAGS = -fopenmp -Wall -Wextra -Wconversion -O2 -fPIC @@ -37,7 +47,7 @@ MEX_OPTION += -lgomp CC\#$(CXX) CXX\#$(CXX) CFLAGS\#"$(CFLAGS)" CXXFLAGS\#"$(CFLAGS)" MATMEX = $(MATLABDIR)/bin/mex $(MEX_OPTION) -PROGS = covm_mex.mex sumskipnan_mex.mex +PROGS = covm_mex.mex sumskipnan_mex.mex kalman_maar.mex mex4o octave: $(PROGS) @@ -52,30 +62,30 @@ clean: -$(RM) *.o *.obj *.o64 core octave-core *.oct *~ *.mex* -$(PROGS): Makefile ######################################################### + # Octave, MATLAB on Linux ######################################################### %.oct: %.cc - mkoctfile$(OCTAVE_VERSION) $< + mkoctfile$(OCTAVE_VERSION) "$<" %.mex: %.cpp - $(OCTMEX) $< -lgomp ## Octave + $(OCTMEX) "$<" -lgomp -llapack -lblas ## Octave %.$(MEX_EXT): %.cpp - $(MATMEX) $< -lgomp ## Matlab + $(MATMEX) "$<" -lgomp -llapack -lblas ## Matlab ######################################################### # MATLAB/WIN32 ######################################################### %.obj: %.cpp - $(CROSS)$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W32MAT_INC) -O2 -DMX_COMPAT_32 $< + $(CROSS)-$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W32MAT_INC) -O2 -DMX_COMPAT_32 "$<" %.obj: %.c - $(CROSS)$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W32MAT_INC) -O2 -DMX_COMPAT_32 $< + $(CROSS)-$(CXX) -fopenmp -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W32MAT_INC) -O2 -DMX_COMPAT_32 "$<" %.mexw32: %.obj - $(CROSS)$(CXX) -shared $(GNUMEX)/mex.def -o $@ -L$(GNUMEX) -s $< -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread + $(CROSS)-$(CXX) -shared $(GNUMEX)/mex.def -o "$@" -L$(GNUMEX) -s "$<" -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread -L$(LDLIBS_W32) -lblas -llapack ######################################################### @@ -84,10 +94,12 @@ ## ToDO: fix OpenMP support: currently -fopenmp causes Matlab to crash %.o64: %.cpp - $(CROSS64)$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W64MAT_INC) -O2 $< + $(CROSS64)-$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W64MAT_INC) -O2 "$<" %.o64: %.c - $(CROSS64)$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o $@ -I$(W64MAT_INC) -O2 $< + $(CROSS64)-$(CXX) -c -DMATLAB_MEX_FILE -x c++ -o "$@" $(W64MAT_INC) -O2 "$<" %.mexw64: %.o64 - $(CROSS64)$(CXX) -shared $(GNUMEX64)/mex.def -o $@ -L$(GNUMEX64) -s $< -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread + $(CROSS64)-$(CXX) -shared $(GNUMEX64)/mex.def -o "$@" -L$(GNUMEX64) -s "$<" -llibmx -llibmex -llibmat -lcholmod -lgomp -lpthread -L$(LDLIBS_W64) -lblas -llapack + + Modified: trunk/octave-forge/extra/tsa/src/kalman_maar.cpp =================================================================== --- trunk/octave-forge/extra/tsa/src/kalman_maar.cpp 2012-06-25 21:51:50 UTC (rev 10695) +++ trunk/octave-forge/extra/tsa/src/kalman_maar.cpp 2012-06-26 23:15:34 UTC (rev 10696) @@ -13,13 +13,11 @@ // this program; if not, write to the Free Software Foundation, Inc., 59 Temple // Place - Suite 330, Boston, MA 02111-1307, USA. -#include "mex.h" -#include "memory.h" +#include <mex.h> +#include <memory.h> -#ifndef WIN32 -#include "blas.h" -#include "lapack.h" -#endif +#include <blas.h> +#include <lapack.h> #include "kalman_maar.h" This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-06-25 21:51:56
|
Revision: 10695 http://octave.svn.sourceforge.net/octave/?rev=10695&view=rev Author: benjf5 Date: 2012-06-25 21:51:50 +0000 (Mon, 25 Jun 2012) Log Message: ----------- One minor little change to lscomplex only. Modified Paths: -------------- trunk/octave-forge/extra/lssa/lscomplex.m Modified: trunk/octave-forge/extra/lssa/lscomplex.m =================================================================== --- trunk/octave-forge/extra/lssa/lscomplex.m 2012-06-25 19:24:52 UTC (rev 10694) +++ trunk/octave-forge/extra/lssa/lscomplex.m 2012-06-25 21:51:50 UTC (rev 10695) @@ -35,6 +35,6 @@ 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; + transform ./ n; -endfunction \ No newline at end of file +endfunction This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-25 19:24:59
|
Revision: 10694 http://octave.svn.sourceforge.net/octave/?rev=10694&view=rev Author: paramaniac Date: 2012-06-25 19:24:52 +0000 (Mon, 25 Jun 2012) Log Message: ----------- control-devel: change to Kalman predictor Modified Paths: -------------- trunk/octave-forge/extra/control-devel/devel/CDplayer.m trunk/octave-forge/extra/control-devel/devel/LakeErie.m trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m Modified: trunk/octave-forge/extra/control-devel/devel/CDplayer.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/CDplayer.m 2012-06-25 16:41:32 UTC (rev 10693) +++ trunk/octave-forge/extra/control-devel/devel/CDplayer.m 2012-06-25 19:24:52 UTC (rev 10694) @@ -50,11 +50,15 @@ dat = iddata (Y, U) -[sys, x0] = moen4 (dat, 8, 's', 15) % s=15, n=8 +% [sys, x0] = moen4 (dat, 8, 's', 15) % s=15, n=8 +[sys, x0] = moen4 (dat, 8, 's', 15, 'noise', 'k') % s=15, n=8 -[y, t] = lsim (sys, U, [], x0); +%[y, t] = lsim (sys, U, [], x0); +[y, t] = lsim (sys, [U, Y], [], x0); + + err = norm (Y - y, 1) / norm (Y, 1) figure (1) Modified: trunk/octave-forge/extra/control-devel/devel/LakeErie.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/LakeErie.m 2012-06-25 16:41:32 UTC (rev 10693) +++ trunk/octave-forge/extra/control-devel/devel/LakeErie.m 2012-06-25 19:24:52 UTC (rev 10694) @@ -76,11 +76,14 @@ 'outname', {'a. dissolved oxygen'; 'b. algae'}) -[sys, x0] = moen4 (dat, 's', 5, 'n', 4) % s=5, n=4 +% [sys, x0] = moen4 (dat, 's', 5, 'n', 4) % s=5, n=4 +[sys, x0] = moen4 (dat, 's', 5, 'n', 4, 'noise', 'k') % s=5, n=4 + x0=x0{1}; -[y, t] = lsim (sys, U_erie, [], x0); +[y, t] = lsim (sys, [U_erie, Y_erie], [], x0); +%[y, t] = lsim (sys, U_erie, [], x0); %[y, t] = lsim (sys, U_erie); err = norm (Y_erie - y, 1) / norm (Y_erie, 1) Modified: trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m 2012-06-25 16:41:32 UTC (rev 10693) +++ trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m 2012-06-25 19:24:52 UTC (rev 10694) @@ -97,6 +97,7 @@ case "confirm" conf = logical (val); case "noise" + ## FIXME: find a more speaking name than 'noise' for this option noise = val; otherwise warning ("%s: invalid property name '%s' ignored", method, key); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <be...@us...> - 2012-06-25 16:41:41
|
Revision: 10693 http://octave.svn.sourceforge.net/octave/?rev=10693&view=rev Author: benjf5 Date: 2012-06-25 16:41:32 +0000 (Mon, 25 Jun 2012) Log Message: ----------- The fast methods run, still need to correlate their results with the reference. Modified Paths: -------------- trunk/octave-forge/extra/lssa/fastlscomplex.cc trunk/octave-forge/extra/lssa/fastlsreal.cc trunk/octave-forge/extra/lssa/lombnormcoeff.m Modified: trunk/octave-forge/extra/lssa/fastlscomplex.cc =================================================================== --- trunk/octave-forge/extra/lssa/fastlscomplex.cc 2012-06-25 16:27:17 UTC (rev 10692) +++ trunk/octave-forge/extra/lssa/fastlscomplex.cc 2012-06-25 16:41:32 UTC (rev 10693) @@ -15,7 +15,18 @@ double maxfreq , int octaves , int coefficients); -DEFUN_DLD(fastlscomplex,args,nargout, "fastlscomplex(time,magnitude,maximum_frequency,octaves,coefficients)") { +DEFUN_DLD(fastlscomplex,args,nargout, + "-*- texinfo -*-\n" +"@deftypefn {Function File} { C = } fastlscomplex" + "(@var{time},@var{magnitude},@var{maximum_frequency},@var{octaves},@var{coefficients})\n" +"\n" +"Return the complex least squares transform of the (@var{time},@var{magnitude}) series\n\ +supplied, using the fast algorithm.\n" +"\n" +"@seealso{lscomplex}\n" +"@seealso{fastlsreal}\n" +"\n" +"@end deftypefn") { if ( args.length() != 5 ) { print_usage(); return octave_value_list (); Modified: trunk/octave-forge/extra/lssa/fastlsreal.cc =================================================================== --- trunk/octave-forge/extra/lssa/fastlsreal.cc 2012-06-25 16:27:17 UTC (rev 10692) +++ trunk/octave-forge/extra/lssa/fastlsreal.cc 2012-06-25 16:41:32 UTC (rev 10693) @@ -107,6 +107,7 @@ complex_record_current = complex_record_current->next; iota_record_current = iota_record_current->next; } + // Error's past this point complex_record_tail = complex_record_current; iota_record_tail = iota_record_current; complex_record_current = complex_precomp_records_head; @@ -119,7 +120,6 @@ for ( int j = 0 ; j < 12 ; j++ ) { complex_record_current->power_series[j] = std::complex<double> ( 0 , 0 ); } // To avoid any trouble down the line, although it is an annoyance. - // Error is traced this far. Time to see if it's in this loop. while ( (k < n) && (abs(tvec(k)-tau_h) <= delta_tau) ) { double p; for ( int j = 0 ; j < 12 ; j++ ) { @@ -164,7 +164,7 @@ tau_h = tau_0; for( ; iota_record_current != 0 ; iota_record_current = iota_record_current->next ) { for ( int j = 0 ; j < 12 ; j++ ) { - complex_record_current->power_series[j] = std::complex<double> ( 0 , 0 ); + iota_record_current->power_series[j] = std::complex<double> ( 0 , 0 ); } while( ( k < n ) && (abs(tvec(k)-tau_h) <= delta_tau) ) { double comps[12]; @@ -188,6 +188,7 @@ } } iota_record_current->stored_data = true; + std::cout << "Precomputed " << iota_record_current << std::endl; k++; } tau_h += ( 2 * delta_tau ); @@ -237,7 +238,7 @@ zeta_imag_part = zeta_imag_part + ( zeta_exp_term.imag() * zeta_real_part_accumulator + zeta_exp_term.real() * zeta_imag_part_accumulator ); } for ( iota_record_current = iota_precomp_records_head; iota_record_current ; - iota_record_current = iota_record_current->next, iota_exp_term = iota_exp_multiplier ) { + iota_record_current = iota_record_current->next, iota_exp_term *= iota_exp_multiplier ) { for ( int array_iter = 0 ; array_iter < 12 ; array_iter++ ) { i_accumulator = ( pow(omega_working,array_iter) * iota_record_current->power_series[array_iter] ); iota_real_part_accumulator += i_accumulator.real(); Modified: trunk/octave-forge/extra/lssa/lombnormcoeff.m =================================================================== --- trunk/octave-forge/extra/lssa/lombnormcoeff.m 2012-06-25 16:27:17 UTC (rev 10692) +++ trunk/octave-forge/extra/lssa/lombnormcoeff.m 2012-06-25 16:41:32 UTC (rev 10693) @@ -13,12 +13,14 @@ ## 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-*- +## -*- texinfo -*- ## @deftypefn {Function File} {c =} lombnormcoeff (time, mag, freq) ## ## Return the coefficient of the Lomb Normalised Periodogram at the ## specified @var{frequency} of the periodogram applied to the ## (@var{time}, @var{mag}) series. +## +## @end deftypefn function coeff = lombnormcoeff(T,X,omega) tau = atan2( sum( sin( 2.*omega.*T)), sum(cos(2.*omega.*T))) / 2; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-25 16:27:23
|
Revision: 10692 http://octave.svn.sourceforge.net/octave/?rev=10692&view=rev Author: paramaniac Date: 2012-06-25 16:27:17 +0000 (Mon, 25 Jun 2012) Log Message: ----------- control-devel: add title and legend Modified Paths: -------------- trunk/octave-forge/extra/control-devel/devel/pH.m Modified: trunk/octave-forge/extra/control-devel/devel/pH.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/pH.m 2012-06-25 14:56:49 UTC (rev 10691) +++ trunk/octave-forge/extra/control-devel/devel/pH.m 2012-06-25 16:27:17 UTC (rev 10692) @@ -61,6 +61,8 @@ figure (1) plot (t, Y(:,1), 'b', t, y(:,1), 'r') +ylim ([0, 15]) +title ('DaISy [96-014]: pH neutralization process in a stirring tank - highly non-linear') +legend ('y measured', 'y simulated', 'location', 'southeast') - This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-25 14:56:59
|
Revision: 10691 http://octave.svn.sourceforge.net/octave/?rev=10691&view=rev Author: paramaniac Date: 2012-06-25 14:56:49 +0000 (Mon, 25 Jun 2012) Log Message: ----------- control-devel: use kalman predictor for simulation Modified Paths: -------------- trunk/octave-forge/extra/control-devel/devel/Destillation.m trunk/octave-forge/extra/control-devel/devel/Evaporator.m trunk/octave-forge/extra/control-devel/devel/GlassFurnace.m trunk/octave-forge/extra/control-devel/devel/pH.m trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m trunk/octave-forge/extra/control-devel/inst/moen4.m Added Paths: ----------- trunk/octave-forge/extra/control-devel/devel/HeatingSystemKP.m trunk/octave-forge/extra/control-devel/devel/PowerPlantKP.m Modified: trunk/octave-forge/extra/control-devel/devel/Destillation.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/Destillation.m 2012-06-25 12:57:13 UTC (rev 10690) +++ trunk/octave-forge/extra/control-devel/devel/Destillation.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -66,13 +66,16 @@ Y_dest_n20=Y(:,7:9); Y_dest_n30=Y(:,10:12); +Y = {Y_dest; Y_dest_n10; Y_dest_n20; Y_dest_n30}; +U = {U_dest; U_dest_n10; U_dest_n20; U_dest_n30}; -dat = iddata (Y_dest, U_dest) +dat = iddata (Y, U) -[sys, x0] = moen4 (dat, 's', 5, 'n', 4) % s=5, n=4 +[sys, x0] = moen4 (dat, 's', 5, 'n', 4, 'noise', 'k') % s=5, n=4 +x0=x0{1}; -[y, t] = lsim (sys, U_dest, [], x0); +[y, t] = lsim (sys, [U_dest, Y_dest], [], x0); %[y, t] = lsim (sys, U_dest); err = norm (Y_dest - y, 1) / norm (Y_dest, 1) Modified: trunk/octave-forge/extra/control-devel/devel/Evaporator.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/Evaporator.m 2012-06-25 12:57:13 UTC (rev 10690) +++ trunk/octave-forge/extra/control-devel/devel/Evaporator.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -51,10 +51,10 @@ dat = iddata (Y, U) -[sys, x0] = moen4 (dat, 's', 10, 'n', 4) % s=10, n=4 +[sys, x0] = moen4 (dat, 's', 10, 'n', 4, 'noise', 'k') % s=10, n=4 -[y, t] = lsim (sys, U, [], x0); +[y, t] = lsim (sys, [U, Y], [], x0); err = norm (Y - y, 1) / norm (Y, 1) Modified: trunk/octave-forge/extra/control-devel/devel/GlassFurnace.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/GlassFurnace.m 2012-06-25 12:57:13 UTC (rev 10690) +++ trunk/octave-forge/extra/control-devel/devel/GlassFurnace.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -48,10 +48,10 @@ dat = iddata (Y, U) -[sys, x0, info] = moen4 (dat, 's', 10, 'n', 5) % s=10, n=5 +[sys, x0, info] = moen4 (dat, 's', 10, 'n', 5, 'noise', 'k') % s=10, n=5 -[y, t] = lsim (sys, U, [], x0); +[y, t] = lsim (sys, [U, Y], [], x0); err = norm (Y - y, 1) / norm (Y, 1) Added: trunk/octave-forge/extra/control-devel/devel/HeatingSystemKP.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/HeatingSystemKP.m (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/HeatingSystemKP.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -0,0 +1,103 @@ +%{ +1. Contributed by: + + Roy Smith + Dept. of Electrical & Computer Engineering + University of California, + Santa Barbara, CA 93106 + U.S.A. + ro...@ec... + +2. Process/Description: + + The experiment is a simple SISO heating system. + The input drives a 300 Watt Halogen lamp, suspended + several inches above a thin steel plate. The output + is a thermocouple measurement taken from the back of + the plate. + +3. Sampling interval: + + 2.0 seconds + +4. Number of samples + + 801 + +5. Inputs: + + u: input drive voltage + ... +6. Outputs: + + y: temperature (deg. C) + ... +7. References: + + The use of this experiment and data for robust + control model validation is described in: + + "Sampled Data Model Validation: an Algorithm and + Experimental Application," Geir Dullerud & Roy Smith, + International Journal of Robust and Nonlinear Control, + Vol. 6, No. 9/10, pp. 1065-1078, 1996. + +8. Known properties/peculiarities + + The data (and nominal model) is the above paper have the + output expressed in 10's deg. C. This has been rescaled + to the original units of deg. C. in the DaISy data set. + There is also a -1 volt offset in u in the data shown plotted + in the original paper. This has been removed in the + DaISy dataset. + + The data shows evidence of discrepancies. One of the + issues studied in the above paper is the size of these + discrepancies - measured in this case in terms of the norm + of the smallest perturbation required to account for the + difference between the nominal model and the data. + + The steady state input (prior to the start of the experiment) + is u = 6.0 Volts. + +%} + +clear all, close all, clc + +load heating_system.dat +U=heating_system(:,2); +Y=heating_system(:,3); + + +dat = iddata (Y, U, 2.0, 'inname', 'input drive voltage', \ + 'inunit', 'Volt', \ + 'outname', 'temperature', \ + 'outunit', '°C') + +% s=15, n=7 +%[sys1, x0] = moen4 (dat, 's', 15, 'n', 7) +[sys1, x0] = moen4 (dat, 's', 15, 'n', 7, 'noise', 'k') + +%sys2 = arx (dat, 7, 7) % normally na = nb +[sys2, x02] = arx (dat, 7); + +%[y1, t1] = lsim (sys1, U, [], x0); +[y1, t1] = lsim (sys1, [U, Y], [], x0); + +%[y2, t] = lsim (sys2(:, 1), U); +[y2, t] = lsim (sys2, U, [], x02); + + +err1 = norm (Y - y1, 1) / norm (Y, 1) +err2 = norm (Y - y2, 1) / norm (Y, 1) + +figure (1) +plot (t, Y, t, y1, t, y2) +title ('DaISy: Heating System [99-001]') +xlim ([t(1), t(end)]) +xlabel ('Time [s]') +ylabel ('Temperature [Degree Celsius]') +legend ('measured', 'simulated subspace', 'simulated ARX', 'location', 'southeast') + + + Added: trunk/octave-forge/extra/control-devel/devel/PowerPlantKP.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/PowerPlantKP.m (rev 0) +++ trunk/octave-forge/extra/control-devel/devel/PowerPlantKP.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -0,0 +1,84 @@ +%{ +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 + +% NB: the code from DaISy is wrong: +% powerplant(:,1) is just the sample number +% therefore increase indices by one +% it took me weeks to find that silly mistake ... +load powerplant.dat +U=powerplant(:,2:6); +Y=powerplant(:,7:9); +Yr=powerplant(:,10:12); + +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) + +[sys, x0] = moen4 (dat, 's', 10, 'n', 8, 'noise', 'k') % s=10, n=8 + +[y, t] = lsim (sys, [U, Y], [], x0); + +err = norm (Y - y, 1) / norm (Y, 1) + +figure (1) +p = columns (Y); +for k = 1 : p + subplot (3, 1, k) + plot (t, Y(:,k), 'b', t, y(:,k), 'r') +endfor +%title ('DaISy: Power Plant') +%legend ('y measured', 'y simulated', 'location', 'southeast') + +st = isstable (sys) + Modified: trunk/octave-forge/extra/control-devel/devel/pH.m =================================================================== --- trunk/octave-forge/extra/control-devel/devel/pH.m 2012-06-25 12:57:13 UTC (rev 10690) +++ trunk/octave-forge/extra/control-devel/devel/pH.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -51,10 +51,10 @@ dat = iddata (Y, U) -[sys, x0] = moen4 (dat, 's', 15, 'n', 6) % s=15, n=6 +[sys, x0] = moen4 (dat, 's', 15, 'n', 6, 'noise', 'k') % s=15, n=6 -[y, t] = lsim (sys, U, [], x0); +[y, t] = lsim (sys, [U, Y], [], x0); err = norm (Y - y, 1) / norm (Y, 1) st = isstable (sys) Modified: trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m 2012-06-25 12:57:13 UTC (rev 10690) +++ trunk/octave-forge/extra/control-devel/inst/__slicot_identification__.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -154,6 +154,11 @@ in_v = __labels__ (outname, "y"); in_v = cellfun (@(x) ["v@", x], in_v, "uniformoutput", false); inname = [in_u; in_v]; + elseif (strncmpi (noise, "k", 1)) # Kalman predictor + sys = ss ([a-k*c], [b-k*d, k], c, [d, zeros(p)], tsam); + in_u = __labels__ (inname, "u"); + in_y = __labels__ (outname, "y"); + inname = [in_u; in_y]; else # no error inputs, default sys = ss (a, b, c, d, tsam); endif Modified: trunk/octave-forge/extra/control-devel/inst/moen4.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/moen4.m 2012-06-25 12:57:13 UTC (rev 10690) +++ trunk/octave-forge/extra/control-devel/inst/moen4.m 2012-06-25 14:56:49 UTC (rev 10691) @@ -71,6 +71,7 @@ ## @table @var ## @item 'n' ## The desired order of the resulting state-space system @var{sys}. +## @var{s} > @var{n} > 0. ## ## @item 's' ## The number of block rows @var{s} in the input and output This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-25 12:57:22
|
Revision: 10690 http://octave.svn.sourceforge.net/octave/?rev=10690&view=rev Author: paramaniac Date: 2012-06-25 12:57:13 +0000 (Mon, 25 Jun 2012) Log Message: ----------- control: quicksave doc (2) Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/moen4.m Modified: trunk/octave-forge/extra/control-devel/inst/moen4.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/moen4.m 2012-06-25 12:28:16 UTC (rev 10689) +++ trunk/octave-forge/extra/control-devel/inst/moen4.m 2012-06-25 12:57:13 UTC (rev 10690) @@ -106,10 +106,12 @@ ## ## ## @item 'noise' -## The desired order of the resulting reduced order system @var{Gr}. +## The desired type of noise input channels. ## @table @var ## @item 'e' -## Use the inverse free descriptor system approach. +## Return @var{sys} as a (p-by-m+p) state-space model with +## both measured input channels u and noise channels e +## with covariance matrix @var{Ry}. ## @iftex ## @tex ## $$ x[k+1] = A x[k] + B u[k] + K e[k] $$ @@ -124,7 +126,9 @@ ## @end ifnottex ## ## @item 'v' -## Use the inversion based standard approach. +## Return @var{sys} as a (p-by-m+p) state-space model with +## both measured input channels u and white noise channels v +## with identity covariance matrix. ## @iftex ## @tex ## $$ x[k+1] = A x[k] + B u[k] + K L v[k] $$ @@ -141,9 +145,7 @@ ## @end ifnottex ## ## @item 'n' -## Switch automatically to the inverse free -## descriptor approach in case of badly conditioned -## feedthrough matrices in V or W. Default method. +## No error inputs. Default value. ## @iftex ## @tex ## $$ x[k+1] = A x[k] + B u[k] $$ This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-06-25 12:28:26
|
Revision: 10689 http://octave.svn.sourceforge.net/octave/?rev=10689&view=rev Author: carandraug Date: 2012-06-25 12:28:16 +0000 (Mon, 25 Jun 2012) Log Message: ----------- vrml: update NEWS Modified Paths: -------------- trunk/octave-forge/main/vrml/NEWS Modified: trunk/octave-forge/main/vrml/NEWS =================================================================== --- trunk/octave-forge/main/vrml/NEWS 2012-06-25 12:17:48 UTC (rev 10688) +++ trunk/octave-forge/main/vrml/NEWS 2012-06-25 12:28:16 UTC (rev 10689) @@ -1,3 +1,15 @@ +Summary of important user-visible changes for vrml 1.X.X: +------------------------------------------------------------------- + + ** The following functions are new: + + vrml_Shape + vrml_set_browser + + ** Alternative vrml browsers are now supported with `vrml_set_browser'. + Default support for whitedune is now included in addition to freewrl. + + Summary of important user-visible changes for vrml 1.0.13: ------------------------------------------------------------------- This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <car...@us...> - 2012-06-25 12:17:59
|
Revision: 10688 http://octave.svn.sourceforge.net/octave/?rev=10688&view=rev Author: carandraug Date: 2012-06-25 12:17:48 +0000 (Mon, 25 Jun 2012) Log Message: ----------- findsym: bug fix by Michael Goffioul <mic...@gm...> Modified Paths: -------------- trunk/octave-forge/main/symbolic/inst/findsym.m Modified: trunk/octave-forge/main/symbolic/inst/findsym.m =================================================================== --- trunk/octave-forge/main/symbolic/inst/findsym.m 2012-06-25 11:56:20 UTC (rev 10687) +++ trunk/octave-forge/main/symbolic/inst/findsym.m 2012-06-25 12:17:48 UTC (rev 10688) @@ -37,7 +37,7 @@ function VARS = findsym(F,Nout) - symlist = findsymbols(F); + symlist = { findsymbols(F) }; Nlist = length(symlist); if Nlist==0 warning("No symbols were found.") This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-25 11:56:31
|
Revision: 10687 http://octave.svn.sourceforge.net/octave/?rev=10687&view=rev Author: paramaniac Date: 2012-06-25 11:56:20 +0000 (Mon, 25 Jun 2012) Log Message: ----------- control: quicksave doc Modified Paths: -------------- trunk/octave-forge/extra/control-devel/inst/moen4.m Modified: trunk/octave-forge/extra/control-devel/inst/moen4.m =================================================================== --- trunk/octave-forge/extra/control-devel/inst/moen4.m 2012-06-25 07:51:40 UTC (rev 10686) +++ trunk/octave-forge/extra/control-devel/inst/moen4.m 2012-06-25 11:56:20 UTC (rev 10687) @@ -65,6 +65,118 @@ ## @end table ## @end table ## +## +## +## @strong{Option Keys and Values} +## @table @var +## @item 'n' +## The desired order of the resulting state-space system @var{sys}. +## +## @item 's' +## The number of block rows @var{s} in the input and output +## block Hankel matrices to be processed. @var{s} > 0. +## In the MOESP theory, @var{s} should be larger than @var{n}, +## the estimated dimension of state vector. +## +## @item 'alg', 'algorithm' +## Specifies the algorithm for computing the triangular +## factor R, as follows: +## @table @var +## @item 'C' +## Cholesky algorithm applied to the correlation +## matrix of the input-output data. Default method. +## @item 'F' +## Fast QR algorithm. +## @item 'Q' +## QR algorithm applied to the concatenated block +## Hankel matrices. +## @end table +## +## +## @item 'tol' +## The desired order of the resulting reduced order system @var{Gr}. +## +## +## @item 'rcond' +## The desired order of the resulting reduced order system @var{Gr}. +## +## +## @item 'confirm' +## The desired order of the resulting reduced order system @var{Gr}. +## +## +## @item 'noise' +## The desired order of the resulting reduced order system @var{Gr}. +## @table @var +## @item 'e' +## Use the inverse free descriptor system approach. +## @iftex +## @tex +## $$ x[k+1] = A x[k] + B u[k] + K e[k] $$ +## $$ y[k] = C x[k] + D u[k] + e[k] $$ +## @end tex +## @end iftex +## @ifnottex +## @example +## x[k+1] = A x[k] + B u[k] + K e[k] +## y[k] = C x[k] + D u[k] + e[k] +## @end example +## @end ifnottex +## +## @item 'v' +## Use the inversion based standard approach. +## @iftex +## @tex +## $$ x[k+1] = A x[k] + B u[k] + K L v[k] $$ +## $$ y[k] = C x[k] + D u[k] + L v[k] $$ +## $$ e = L v, \\ L L^T = Ry $$ +## @end tex +## @end iftex +## @ifnottex +## @example +## x[k+1] = A x[k] + B u[k] + K L v[k] +## y[k] = C x[k] + D u[k] + L v[k] +## e = L v, L L' = Ry +## @end example +## @end ifnottex +## +## @item 'n' +## Switch automatically to the inverse free +## descriptor approach in case of badly conditioned +## feedthrough matrices in V or W. Default method. +## @iftex +## @tex +## $$ x[k+1] = A x[k] + B u[k] $$ +## $$ y[k] = C x[k] + D u[k] $$ +## @end tex +## @end iftex +## @ifnottex +## @example +## x[k+1] = A x[k] + B u[k] +## y[k] = C x[k] + D u[k] +## @end example +## @end ifnottex +## @end table +## +## +## @item 'method' +## Specifies the computational approach to be used. +## Valid values corresponding to this key are: +## @table @var +## @item 'descriptor' +## Use the inverse free descriptor system approach. +## @item 'standard' +## Use the inversion based standard approach. +## @item 'auto' +## Switch automatically to the inverse free +## descriptor approach in case of badly conditioned +## feedthrough matrices in V or W. Default method. +## @end table +## +## +## @end table +## +## ## @strong{Algorithm}@* ## Uses SLICOT IB01AD, IB01BD and IB01CD by courtesy of ## @uref{http://www.slicot.org, NICONET e.V.} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-25 07:51:52
|
Revision: 10686 http://octave.svn.sourceforge.net/octave/?rev=10686&view=rev Author: paramaniac Date: 2012-06-25 07:51:40 +0000 (Mon, 25 Jun 2012) Log Message: ----------- control: prepare release of control-2.3.52 Modified Paths: -------------- trunk/octave-forge/main/control/DESCRIPTION trunk/octave-forge/main/control/NEWS trunk/octave-forge/main/control/devel/pdfdoc/function_doc.m trunk/octave-forge/main/control/doc/control.pdf Added Paths: ----------- trunk/octave-forge/main/control/devel/Makefile.ReferenceLapack trunk/octave-forge/main/control/doc/control.tex trunk/octave-forge/main/control/doc/functions.texi Modified: trunk/octave-forge/main/control/DESCRIPTION =================================================================== --- trunk/octave-forge/main/control/DESCRIPTION 2012-06-24 21:40:15 UTC (rev 10685) +++ trunk/octave-forge/main/control/DESCRIPTION 2012-06-25 07:51:40 UTC (rev 10686) @@ -1,6 +1,6 @@ Name: Control Version: 2.3.52 -Date: 2012-06-24 +Date: 2012-06-25 Author: Lukas Reichlin <luk...@gm...> Maintainer: Lukas Reichlin <luk...@gm...> Title: Control Systems Modified: trunk/octave-forge/main/control/NEWS =================================================================== --- trunk/octave-forge/main/control/NEWS 2012-06-24 21:40:15 UTC (rev 10685) +++ trunk/octave-forge/main/control/NEWS 2012-06-25 07:51:40 UTC (rev 10686) @@ -1,7 +1,7 @@ Summary of important user-visible changes for releases of the control package =============================================================================== -control-2.3.52 Release Date: 2012-06-24 Release Manager: Lukas Reichlin +control-2.3.52 Release Date: 2012-06-25 Release Manager: Lukas Reichlin =============================================================================== ** Fixed a silly mistake in MIMO transfer function to state-space conversion. @@ -12,7 +12,16 @@ Added new functions for linear quadratic estimators. (Thanks to Megan Zagrobelny) +** Upon request of the Debian maintainers, the tex-files control.tex and + functions.texi for generating control.pdf are included in the doc folder, + next to control.pdf. Note that functions.texi is generated automatically + by the scripts in the control/devel folder and the package generate_html. + They are not included in the control package and can be found on the + OctaveForge SVN server. +** Minor improvements in various help texts. + + =============================================================================== control-2.3.51 Release Date: 2012-06-03 Release Manager: Lukas Reichlin =============================================================================== @@ -43,7 +52,10 @@ ** Makefile fixed to work with non-standard linker options e.g on Apple. +** The conversion to state-space of multi-input transfer functions with common + row denominators is now handled more efficiently. + =============================================================================== control-2.3.50 Release Date: 2012-03-06 Release Manager: Lukas Reichlin =============================================================================== Added: trunk/octave-forge/main/control/devel/Makefile.ReferenceLapack =================================================================== --- trunk/octave-forge/main/control/devel/Makefile.ReferenceLapack (rev 0) +++ trunk/octave-forge/main/control/devel/Makefile.ReferenceLapack 2012-06-25 07:51:40 UTC (rev 10686) @@ -0,0 +1,77 @@ +MKOCTFILE ?= mkoctfile + +ifndef LAPACK_LIBS +LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS) +endif +ifndef BLAS_LIBS +BLAS_LIBS := $(shell $(MKOCTFILE) -p BLAS_LIBS) +endif +ifndef FLIBS +FLIBS := $(shell $(MKOCTFILE) -p FLIBS) +endif +MKOCTFILE ?= mkoctfile + +# LAPACK_LIBS := $(shell $(MKOCTFILE) -p LAPACK_LIBS) +# BLAS_LIBS := $(shell $(MKOCTFILE) -p BLAS_LIBS) +FLIBS := $(shell $(MKOCTFILE) -p FLIBS) + +all: control_slicot_functions.oct \ + is_real_scalar.oct \ + is_real_vector.oct \ + is_real_matrix.oct \ + is_real_square_matrix.oct + +# TODO: Private oct-files for control package. + +# unpack and compile SLICOT library +# Note that TG04BX is a custom routine. +# It has the extension .fortran such that +# it is not deleted by rm *.f when using +# the developer makefile makefile_control.m +slicotlibrary.a: slicot.tar.gz + tar -xzf slicot.tar.gz + mv slicot/src/*.f . + mv slicot/src_aux/*.f . + cp TG04BX.fortran TG04BX.f + $(MKOCTFILE) -c *.f + ar -rc slicotlibrary.a *.o + rm -rf *.o *.f slicot + +# reference lapack is just included for debugging purposes +# it will be removed again before an official release of the control package +lapacklibrary.a: lapack-3.4.1.tgz + tar -xzf lapack-3.4.1.tgz + mv lapack-3.4.1/BLAS/SRC/*.f . + mv lapack-3.4.1/INSTALL/*.f . + mv lapack-3.4.1/SRC/*.f . + $(MKOCTFILE) -c *.f + ar -rc lapacklibrary.a *.o + rm -rf *.o *.f lapack-3.4.1 + +# slicot functions +control_slicot_functions.oct: control_slicot_functions.cc slicotlibrary.a lapacklibrary.a + $(MKOCTFILE) control_slicot_functions.cc common.cc slicotlibrary.a lapacklibrary.a \ + ${FLIBS} +# slicot functions +#control_slicot_functions.oct: control_slicot_functions.cc slicotlibrary.a +# $(MKOCTFILE) control_slicot_functions.cc common.cc slicotlibrary.a \ +# ${LAPACK_LIBS} ${BLAS_LIBS} ${FLIBS} + +# helpers +is_real_scalar.oct: is_real_scalar.cc + $(MKOCTFILE) is_real_scalar.cc + +is_real_vector.oct: is_real_vector.cc + $(MKOCTFILE) is_real_vector.cc + +is_real_matrix.oct: is_real_matrix.cc + $(MKOCTFILE) is_real_matrix.cc + +is_real_square_matrix.oct: is_real_square_matrix.cc + $(MKOCTFILE) is_real_square_matrix.cc + +clean: + rm -rf *.o core octave-core *.oct *~ *.f slicot lapack-3.4.1 + +realclean: clean + rm -rf *.a \ No newline at end of file Modified: trunk/octave-forge/main/control/devel/pdfdoc/function_doc.m =================================================================== --- trunk/octave-forge/main/control/devel/pdfdoc/function_doc.m 2012-06-24 21:40:15 UTC (rev 10685) +++ trunk/octave-forge/main/control/devel/pdfdoc/function_doc.m 2012-06-25 07:51:40 UTC (rev 10686) @@ -14,6 +14,9 @@ % Open output file fid = fopen ("functions.texi", "w"); +fprintf (fid, '@c This file is generated automatically\n'); +fprintf (fid, '@c Do not edit\n\n'); + for k = 1:numel (list {1}.provides) group = list {1}.provides{k}; Modified: trunk/octave-forge/main/control/doc/control.pdf =================================================================== --- trunk/octave-forge/main/control/doc/control.pdf 2012-06-24 21:40:15 UTC (rev 10685) +++ trunk/octave-forge/main/control/doc/control.pdf 2012-06-25 07:51:40 UTC (rev 10686) @@ -42,7 +42,7 @@ >> stream xڅ\x90MK1\x86\xEF\xFB+rL3\x99\xCC&\xB9*\xB6 \xE2Gݞ\xC4ònk\xE9n\xAB\xE0\xBF7i\/\x8A\xC3̛y\x9F\xBC(L:(\xBC>\xF2\xA2\xDBV\xE6\xD4\x96\xA2\xB3i\x85_:\xC7\xEC(\xD5\xCA\xF4\xA8\xD3H\xDD?Kur\x8Eb\x9E7\xD5\xD9ij\xB0j,\x9AEƫ -\x817A4\xCF\xE2Qv\xFB\x9D"\x94\xC7a\xBFQ\x9A<K\xC9\xD5SsU]6\xD5\xEB\xF7\xEA\xF4\x90#\x83\xA70"\x8Cd\x89+\xEDz\xB1\xA8\xEE\x8B%\xB3@\xD1D̖d j\x8C\x82\x83\xF4\xBE\xF8^$_F_"\xF9\xF0q8\xF6[\xA5QJ\xE3.\xCF\xDB.\xDFk\xC5,\xDBe_\x8B\xFDP\x8A\xE9\xCD<N\xDEv\xC76\xEB\xDE\xF3\xD5g\xF6ӷ\xD1\xB9\xDAfmO\xDA\xC5 |
From: <pau...@us...> - 2012-06-24 21:40:21
|
Revision: 10685 http://octave.svn.sourceforge.net/octave/?rev=10685&view=rev Author: pauldreik Date: 2012-06-24 21:40:15 +0000 (Sun, 24 Jun 2012) Log Message: ----------- "* version macros check have been simplified, using word splitting functionality from make instead of using sed. Code from Stephen Montgomery-Smith * now uses MKOCTFILE variable instead of mkoctfile directly. Thank you Mike Miller for the reminder! Modified Paths: -------------- trunk/octave-forge/main/sockets/src/Makefile Modified: trunk/octave-forge/main/sockets/src/Makefile =================================================================== --- trunk/octave-forge/main/sockets/src/Makefile 2012-06-24 19:38:31 UTC (rev 10684) +++ trunk/octave-forge/main/sockets/src/Makefile 2012-06-24 21:40:15 UTC (rev 10685) @@ -1,11 +1,22 @@ OCT = sockets.oct SRC := $(OCT:.oct=.cc) +#Allow mkoctfile to be set externally. +MKOCTFILE ?= mkoctfile +OCTAVE ?= octave + #See which octave version we run by querying mkoctfile for its version -#string. (Is there a better way to do this? This looks horrible.) -majorversion := $(shell mkoctfile --version 2>&1 | sed -e 's/[ .+]/\n/g' |sed -n '3p') -minorversion := $(shell mkoctfile --version 2>&1 | sed -e 's/[ .+]/\n/g' |sed -n '4p') -microversion := $(shell mkoctfile --version 2>&1 | sed -e 's/[ .+]/\n/g' |sed -n '5p') +#string. This is needed because there was an octave macro that changed +#from 3.0 to 3.2. When 3.0 is considered long gone, this is not +#needed anymore. +#The best thing would be to do this check inside the .cc file, but I +#believe there are no version macros other than VERSION from +#octave/config.h, which is a string and difficult to deal with. The octave +#developers discourage from relying on versions, so this is not likely +#to be supported. +majorversion := $(word 3,$(shell $(MKOCTFILE) --version 2>&1 | sed 's/\./ /g')) +minorversion := $(word 4,$(shell $(MKOCTFILE) --version 2>&1 | sed 's/\./ /g')) +microversion := $(word 5,$(shell $(MKOCTFILE) --version 2>&1 | sed 's/\./ /g')) VFLAGS=-DMAJORVERSION=$(majorversion) VFLAGS+=-DMINORVERSION=$(minorversion) @@ -14,10 +25,10 @@ all: $(OCT) %.oct: %.cc - mkoctfile $(VFLAGS) -s $< + $(MKOCTFILE) $(VFLAGS) -s $< test: $(OCT) - test_octave_sockets + $(OCTAVE) -q ./test_octave_sockets clean: rm -f *.oct *.o This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <prn...@us...> - 2012-06-24 19:38:37
|
Revision: 10684 http://octave.svn.sourceforge.net/octave/?rev=10684&view=rev Author: prnienhuis Date: 2012-06-24 19:38:31 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Added 0.5 sec delay before calling chk_spreadsheet_support Modified Paths: -------------- trunk/octave-forge/main/io/PKG_ADD Modified: trunk/octave-forge/main/io/PKG_ADD =================================================================== --- trunk/octave-forge/main/io/PKG_ADD 2012-06-24 19:33:33 UTC (rev 10683) +++ trunk/octave-forge/main/io/PKG_ADD 2012-06-24 19:38:31 UTC (rev 10684) @@ -7,6 +7,7 @@ if javapkg.loaded # Assume jar files are in /lib/java and let chk_spreadsheet_support sort it out libdir = octave_config_info("libdir"); + pause (0.5); spr_status = chk_spreadsheet_support ([libdir "/java"]); endif endif This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <prn...@us...> - 2012-06-24 19:33:40
|
Revision: 10683 http://octave.svn.sourceforge.net/octave/?rev=10683&view=rev Author: prnienhuis Date: 2012-06-24 19:33:33 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Replaced error messages by printf & return; check for odfdom version updated to 0.8.8 Modified Paths: -------------- trunk/octave-forge/main/io/inst/chk_spreadsheet_support.m Modified: trunk/octave-forge/main/io/inst/chk_spreadsheet_support.m =================================================================== --- trunk/octave-forge/main/io/inst/chk_spreadsheet_support.m 2012-06-24 19:26:09 UTC (rev 10682) +++ trunk/octave-forge/main/io/inst/chk_spreadsheet_support.m 2012-06-24 19:33:33 UTC (rev 10683) @@ -84,6 +84,9 @@ % 2011-09-18 Fixed 'Matlab style short circuit' warning in L. 152 % 2012-12-24 Amended code stanze to find unoil.jar; now works in LibreOffice 3.5b2 as well % 2012-06-07 Replaced all tabs by double space +% 2012-06-24 Replaced error msg by printf & return +% '' Added Java pkg inquiry (Octave) before attempting javaclasspath() +% '' Updated check for odfdom version (now supports 0.8.8) jcp = []; retval = 0; if (nargin < 3); path_to_ooo= ''; end %if @@ -106,7 +109,7 @@ catch % COM not supported if (dbug), fprintf ('not working.\n\n'); end %if - end %try_catch + end %try_catch % Check Java if (dbug), fprintf ('Checking Java support...\n'); end %if @@ -120,15 +123,25 @@ end %if else tst1 = version ('-java'); - jtst = isempty (strfind (tst1, 'Java')); + jtst = isempty (strfind (tst1, 'Java')); end %if if (jtst) - error ('Apparently no Java JRE installed.'); + printf ('Apparently no Java JRE installed.\n'); + return; else if (dbug > 1), fprintf ('OK, found one.\n'); end %if end %if if (dbug > 1 && isOctave), fprintf (' 2. Checking Octave Java support... '); end %if try + if (isOctave) + % Check Java package + [~, b] = pkg ('describe', 'java'); + if (strcmpi (b{:}, 'Not loaded')) + if (dbug > 1); printf ('Java package not loaded. First do: "pkg load java"\n'); end %if + elseif strcmpi (b{:}, 'Not installed') + if (dbug > 1); printf ('Java package is not installed.\n'); end %if + endif + end %if jcp = javaclasspath ('-all'); % For Octave java pkg > 1.2.7 if (isempty (jcp)), jcp = javaclasspath; end %if % For Octave java pkg < 1.2.8 % If we get here, at least Java works. @@ -152,7 +165,7 @@ % Under *nix the classpath must first be split up. % Matlab is braindead here. For ML we need a replacement for Octave's builtin strsplit() % This is found on ML Central (BSD license so this is allowed) & adapted for input arg order - if (isunix && ~iscell (jcp)); jcp = strsplit (char (jcp), ':'); end %if + if (isunix && ~iscell (jcp)); jcp = strsplit (char (jcp), ':'); end %if if (dbug > 1) % Check JVM virtual memory settings jrt = javaMethod ('getRuntime', 'java.lang.Runtime'); @@ -173,8 +186,9 @@ end %if end %if if (dbug), fprintf ('Java support OK\n'); end %if - catch - error ('No Java support found: %s.', lasterr); + catch + printf ('No Java support found.\n'); + return end %try_catch if (dbug), fprintf ('\nChecking javaclasspath for .jar class libraries needed for spreadsheet I/O...:\n'); end %if @@ -320,8 +334,9 @@ % Worked in 0.7.5 odfvsn = javaMethod ('getApplicationVersion', 'org.odftoolkit.odfdom.Version'); end %try_catch - if ~(strcmp (odfvsn, '0.7.5') || strcmp (odfvsn, '0.8.6') || strcmp (odfvsn, '0.8.7')) - warning (' *** odfdom version (%s) is not supported - use v. 0.8.6 or 0.8.7.\n', odfvsn); + if ~(strcmp (odfvsn, '0.7.5') || strcmp (odfvsn, '0.8.6') || strcmp (odfvsn, '0.8.7') + || ~isempty (strfind (odfvsn, '0.8.8'))) + warning (' *** odfdom version (%s) is not supported - use v. 0.8.6 or newer\n', odfvsn); else if (dbug > 1), fprintf (' => ODFtoolkit (OTK) OK.\n'); end %if retval = retval + 32; @@ -398,7 +413,7 @@ if (~ujars_complete && nargin > 0 && ~isempty (path_to_ooo)) if (dbug), fprintf ('\nTrying to add missing UNO java class libs to javaclasspath...\n'); end %if - if (~ischar (path_to_jars)), error ('Path expected for arg # 1'); end %if + if (~ischar (path_to_jars)), printf ('Path expected for arg # 1\n'); return; end %if % Add missing jars to javaclasspath. First combine all entries targt = sum (missing0); if (missing0(1)) @@ -414,7 +429,10 @@ if (dbug > 2), fprintf ('FAILED\n'); end %if end %try_catch else - if (dbug > 2), error ('Suggested OpenOffice.org install directory: %s not found!\n', path_to_ooo); end %if + if (dbug > 2) + printf ('Suggested OpenOffice.org install directory: %s not found!\n', path_to_ooo); + return + end %if end %if end %if % Rest of missing entries. Find where URE is located. Watch out because case of ./ure is unknown @@ -492,7 +510,7 @@ jars_complete = isempty (find (missing, 1)); if (dbug) if (jars_complete) - fprintf ('All interfaces already fully supported.\n\n'); + fprintf ('All Java-based interfaces (save UNO) fully supported.\n\n'); else fprintf ('Some class libs lacking yet...\n\n'); end %if @@ -501,7 +519,7 @@ if (~jars_complete && nargin > 0 && ~isempty (path_to_jars)) % Add missing jars to javaclasspath. Assume they're all in the same place if (dbug), fprintf ('Trying to add missing java class libs to javaclasspath...\n'); end %if - if (~ischar (path_to_jars)), error ('Path expected for arg # 1'); end %if + if (~ischar (path_to_jars)), printf ('Path expected for arg # 1\n'); return; end %if % First combine all entries targt = sum (missing); % Search tru list of missing entries @@ -536,7 +554,7 @@ if (targt) fprintf ('Some other class libs still lacking...\n\n'); else - fprintf ('All interfaces fully supported.now.\n\n'); + fprintf ('All Java-based interfaces fully supported.now.\n\n'); end %if end %f end %if This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-24 19:26:15
|
Revision: 10682 http://octave.svn.sourceforge.net/octave/?rev=10682&view=rev Author: paramaniac Date: 2012-06-24 19:26:09 +0000 (Sun, 24 Jun 2012) Log Message: ----------- control: prepare new release Modified Paths: -------------- trunk/octave-forge/main/control/DESCRIPTION trunk/octave-forge/main/control/NEWS trunk/octave-forge/main/control/devel/RELEASE_PACKAGE trunk/octave-forge/main/control/devel/pdfdoc/control.tex Modified: trunk/octave-forge/main/control/DESCRIPTION =================================================================== --- trunk/octave-forge/main/control/DESCRIPTION 2012-06-24 10:34:56 UTC (rev 10681) +++ trunk/octave-forge/main/control/DESCRIPTION 2012-06-24 19:26:09 UTC (rev 10682) @@ -1,11 +1,11 @@ Name: Control -Version: 2.3.51 -Date: 2012-06-03 +Version: 2.3.52 +Date: 2012-06-24 Author: Lukas Reichlin <luk...@gm...> Maintainer: Lukas Reichlin <luk...@gm...> Title: Control Systems Description: Octave control systems package based on the proven SLICOT library Depends: octave (>= 3.6.0) Autoload: yes -License: GPL version 3 or later +License: GPLv3+ Url: http://octave.sf.net, http://www.slicot.org Modified: trunk/octave-forge/main/control/NEWS =================================================================== --- trunk/octave-forge/main/control/NEWS 2012-06-24 10:34:56 UTC (rev 10681) +++ trunk/octave-forge/main/control/NEWS 2012-06-24 19:26:09 UTC (rev 10682) @@ -1,7 +1,7 @@ Summary of important user-visible changes for releases of the control package =============================================================================== -control-2.3.52 Release Date: 2012-xx-yy Release Manager: Lukas Reichlin +control-2.3.52 Release Date: 2012-06-24 Release Manager: Lukas Reichlin =============================================================================== ** Fixed a silly mistake in MIMO transfer function to state-space conversion. Modified: trunk/octave-forge/main/control/devel/RELEASE_PACKAGE =================================================================== --- trunk/octave-forge/main/control/devel/RELEASE_PACKAGE 2012-06-24 10:34:56 UTC (rev 10681) +++ trunk/octave-forge/main/control/devel/RELEASE_PACKAGE 2012-06-24 19:26:09 UTC (rev 10682) @@ -20,12 +20,12 @@ rm -R ~/octave/__TEMP__/control/devel cd ~/octave/__TEMP__ grep -i version control/DESCRIPTION -tar czf control-2.3.51.tar.gz control/ -md5 control-2.3.51.tar.gz -md5 control-2.3.51.tar.gz > md5_control_pkg.txt -uuencode control-2.3.51.tar.gz < control-2.3.51.tar.gz > control-2.3.51.tar.gz.uue +tar czf control-2.3.52.tar.gz control/ +md5 control-2.3.52.tar.gz +md5 control-2.3.52.tar.gz > md5_control_pkg.txt +uuencode control-2.3.52.tar.gz < control-2.3.52.tar.gz > control-2.3.52.tar.gz.uue octave -q --eval \ -"pkg install control-2.3.51.tar.gz" +"pkg install control-2.3.52.tar.gz" octave -q --eval \ "pkg load generate_html; generate_package_html ('control', 'control-html', 'octave-forge')" tar czf control-html.tar.gz control-html @@ -40,7 +40,7 @@ ===================================================================================== rm -R ~/octave/__TEMP__ -rm -R ~/octave/control-2.3.51 +rm -R ~/octave/control-2.3.52 ===================================================================================== Modified: trunk/octave-forge/main/control/devel/pdfdoc/control.tex =================================================================== --- trunk/octave-forge/main/control/devel/pdfdoc/control.tex 2012-06-24 10:34:56 UTC (rev 10681) +++ trunk/octave-forge/main/control/devel/pdfdoc/control.tex 2012-06-24 19:26:09 UTC (rev 10682) @@ -3,7 +3,7 @@ @setfilename control.info @settitle Octave Control Systems Package @afourpaper -@set VERSION 2.3.51 +@set VERSION 2.3.52 @finalout @c @afourwide @c %**end of header This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aba...@us...> - 2012-06-24 10:35:03
|
Revision: 10681 http://octave.svn.sourceforge.net/octave/?rev=10681&view=rev Author: abarth93 Date: 2012-06-24 10:34:56 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Modified Paths: -------------- trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m trunk/octave-forge/extra/ncArray/inst/test_ncarray.m Added Paths: ----------- trunk/octave-forge/extra/ncArray/inst/@BaseArray/max.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/min.m Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/max.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/max.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/max.m 2012-06-24 10:34:56 UTC (rev 10681) @@ -0,0 +1,13 @@ +% s = max (x, [], dim) +% compute the maximum along dimension dim +% See also +% max + +function s = max(self,B,varargin) + +assert(isempty(B)) + +funred = @max; +funelem = @(x) x; + +s = reduce(self,funred,funelem,varargin{:}); Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/min.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/min.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/min.m 2012-06-24 10:34:56 UTC (rev 10681) @@ -0,0 +1,13 @@ +% s = min (x, [], dim) +% compute the minimum along dimension dim +% See also +% min + +function s = min(self,B,varargin) + +assert(isempty(B)) + +funred = @min; +funelem = @(x) x; + +s = reduce(self,funred,funelem,varargin{:}); Modified: trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m 2012-06-24 10:26:23 UTC (rev 10680) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m 2012-06-24 10:34:56 UTC (rev 10681) @@ -1,4 +1,4 @@ -% s = sum (X, DIM) +% s = sum (x, dim) % compute the sum along dimension dim % See also % sum Modified: trunk/octave-forge/extra/ncArray/inst/test_ncarray.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/test_ncarray.m 2012-06-24 10:26:23 UTC (rev 10680) +++ trunk/octave-forge/extra/ncArray/inst/test_ncarray.m 2012-06-24 10:34:56 UTC (rev 10681) @@ -132,7 +132,15 @@ stdSSTref = std(SST_ref,[],2); assert(isequalwithequalnans(stdSST, stdSSTref)) +maxSST = max(SST,[],2); +maxSSTref = max(SST_ref,[],2); +assert(isequalwithequalnans(maxSST, maxSSTref)) +minSST = min(SST,[],2); +minSSTref = min(SST_ref,[],2); +assert(isequalwithequalnans(minSST, minSSTref)) + + % writing r = round(randn(size(SST))); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aba...@us...> - 2012-06-24 10:26:30
|
Revision: 10680 http://octave.svn.sourceforge.net/octave/?rev=10680&view=rev Author: abarth93 Date: 2012-06-24 10:26:23 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Modified Paths: -------------- trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m trunk/octave-forge/extra/ncArray/inst/test_ncarray.m Added Paths: ----------- trunk/octave-forge/extra/ncArray/inst/@BaseArray/mean.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/prod.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/std.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/sumsq.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/var.m Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/mean.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/mean.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/mean.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -0,0 +1,16 @@ +% s = mean (X, DIM) +% compute the mean along dimension dim +% See also +% mean +function s = mean(self,varargin) + +funred = @plus; +funelem = @(x) x; + +[s,n] = reduce(self,funred,funelem,varargin{:}); + +if isempty(s) + s = 0; +else + s = s/n; +end Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/prod.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/prod.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/prod.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -0,0 +1,10 @@ +function s = prod(self,varargin) + +funred = @times; +funelem = @(x) x; + +s = reduce(self,funred,funelem,varargin{:}); + +if isempty(s) + s = 1; +end Modified: trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m 2012-06-24 09:56:12 UTC (rev 10679) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -1,5 +1,9 @@ -function s = reduce(self,funred,funelem,dim) +% [s,n] = reduce(self,funred,funelem,dim) +% reduce array using the function funred applied to all elements +% after the function funelem was applied along dimension dim +function [s,n] = reduce(self,funred,funelem,dim) + sz = size(self); if nargin == 3 dim = find(sz ~= 1,1); @@ -15,13 +19,15 @@ idx.subs{i} = ':'; end -if size(self,dim) == 0 +n = size(self,dim); + +if n == 0 s = []; else idx.subs{dim} = 1; s = funelem(subsref(self,idx)); - for i=2:size(self,dim) + for i=2:n idx.subs{dim} = i; s = funred(s,funelem(subsref(self,idx))); end Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/std.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/std.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/std.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -0,0 +1,7 @@ +% s = std (X, OPT, DIM) +% compute the standard deviation +% See also +% std +function s = std(self,varargin) + +s = sqrt(var(self,varargin{:})); Modified: trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m 2012-06-24 09:56:12 UTC (rev 10679) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -1,3 +1,8 @@ +% s = sum (X, DIM) +% compute the sum along dimension dim +% See also +% sum + function s = sum(self,varargin) funred = @plus; Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/sumsq.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/sumsq.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/sumsq.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -0,0 +1,15 @@ +% s = sumsq (x, dim) +% compute the sum squared along dimension dim +% See also +% sum + +function s = sumsq(self,varargin) + +funred = @plus; +funelem = @(x) x.^2; + +s = reduce(self,funred,funelem,varargin{:}); + +if isempty(s) + s = 1; +end Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/var.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/var.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/var.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -0,0 +1,29 @@ +% s = var (x, opt, dim) +% compute the variance along dimension dim +% See also +% var + +function s = var(self,opt,varargin) + +if nargin == 1 + opt = 0; +elseif isempty(opt) + opt = 0; +end + +m = mean(self,varargin{:}); + +funred = @plus; +funelem = @(x) (x-m).^2; + +[s,n] = reduce(self,funred,funelem,varargin{:}); + +if isempty(s) + s = 0; +else + if opt == 0 + s = s/(n-1); + else + s = s/n; + end +end Modified: trunk/octave-forge/extra/ncArray/inst/test_ncarray.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/test_ncarray.m 2012-06-24 09:56:12 UTC (rev 10679) +++ trunk/octave-forge/extra/ncArray/inst/test_ncarray.m 2012-06-24 10:26:23 UTC (rev 10680) @@ -95,7 +95,44 @@ sumSSTref = sum(SST_ref); assert(isequalwithequalnans(sumSST, sumSSTref)) +prodSST = prod(SST); +prodSSTref = prod(SST_ref); +assert(isequalwithequalnans(prodSST, prodSSTref)) + +sumsqSST = sumsq(SST); +sumsqSSTref = sumsq(SST_ref); +assert(isequalwithequalnans(sumsqSST, sumsqSSTref)) + +meanSST = mean(SST); +meanSSTref = mean(SST_ref); +assert(isequalwithequalnans(meanSST, meanSSTref)) + +varSST = var(SST); +varSSTref = var(SST_ref); +assert(isequalwithequalnans(varSST, varSSTref)) + +varSST = var(SST,1); +varSSTref = var(SST_ref,1); +assert(isequalwithequalnans(varSST, varSSTref)) + +varSST = var(SST,[],2); +varSSTref = var(SST_ref,[],2); +assert(isequalwithequalnans(varSST, varSSTref)) + +stdSST = std(SST); +stdSSTref = std(SST_ref); +assert(isequalwithequalnans(stdSST, stdSSTref)) + +stdSST = std(SST,1); +stdSSTref = std(SST_ref,1); +assert(isequalwithequalnans(stdSST, stdSSTref)) + +stdSST = std(SST,[],2); +stdSSTref = std(SST_ref,[],2); +assert(isequalwithequalnans(stdSST, stdSSTref)) + + % writing r = round(randn(size(SST))); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <aba...@us...> - 2012-06-24 09:56:19
|
Revision: 10679 http://octave.svn.sourceforge.net/octave/?rev=10679&view=rev Author: abarth93 Date: 2012-06-24 09:56:12 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Modified Paths: -------------- trunk/octave-forge/extra/ncArray/inst/@BaseArray/size.m trunk/octave-forge/extra/ncArray/inst/@ncBaseArray/ncBaseArray.m trunk/octave-forge/extra/ncArray/inst/test_ncarray.m Added Paths: ----------- trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/reduce.m 2012-06-24 09:56:12 UTC (rev 10679) @@ -0,0 +1,28 @@ +function s = reduce(self,funred,funelem,dim) + +sz = size(self); +if nargin == 3 + dim = find(sz ~= 1,1); + if isempty(dim) + dim = 1; + end +end + +idx.type = '()'; +nd = length(sz); +idx.subs = cell(1,nd); +for i=1:nd + idx.subs{i} = ':'; +end + +if size(self,dim) == 0 + s = []; +else + idx.subs{dim} = 1; + s = funelem(subsref(self,idx)); + + for i=2:size(self,dim) + idx.subs{dim} = i; + s = funred(s,funelem(subsref(self,idx))); + end +end Modified: trunk/octave-forge/extra/ncArray/inst/@BaseArray/size.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/size.m 2012-06-24 05:35:16 UTC (rev 10678) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/size.m 2012-06-24 09:56:12 UTC (rev 10679) @@ -3,6 +3,10 @@ sz = self.sz; if nargin == 2 - sz = sz(dim); + if dim > length(sz) + sz = 1; + else + sz = sz(dim); + end end Added: trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m (rev 0) +++ trunk/octave-forge/extra/ncArray/inst/@BaseArray/sum.m 2012-06-24 09:56:12 UTC (rev 10679) @@ -0,0 +1,10 @@ +function s = sum(self,varargin) + +funred = @plus; +funelem = @(x) x; + +s = reduce(self,funred,funelem,varargin{:}); + +if isempty(s) + s = 0; +end Modified: trunk/octave-forge/extra/ncArray/inst/@ncBaseArray/ncBaseArray.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/@ncBaseArray/ncBaseArray.m 2012-06-24 05:35:16 UTC (rev 10678) +++ trunk/octave-forge/extra/ncArray/inst/@ncBaseArray/ncBaseArray.m 2012-06-24 09:56:12 UTC (rev 10679) @@ -56,7 +56,7 @@ self.sz = self.vinfo.Size; self.dims = self.vinfo.Dimensions; -self.nd = length(self.dims); +self.nd = length(self.dims); % number of netcdf dimensions retval = class(self,'ncBaseArray',BaseArray(self.sz)); end Modified: trunk/octave-forge/extra/ncArray/inst/test_ncarray.m =================================================================== --- trunk/octave-forge/extra/ncArray/inst/test_ncarray.m 2012-06-24 05:35:16 UTC (rev 10678) +++ trunk/octave-forge/extra/ncArray/inst/test_ncarray.m 2012-06-24 09:56:12 UTC (rev 10679) @@ -1,4 +1,4 @@ -function test_ncarray() +%function test_ncarray() % test ncBaseArray, ncCatArray and ncArray varname = 'SST'; @@ -75,6 +75,27 @@ ind = floor(numel(SST_ref) * rand(100,1))+1; assert(isequalwithequalnans(SST(ind),SST_ref(ind))) +assert(isequalwithequalnans(SST_ref(1,:,:), SST(1,:,:))) + +% sum + +sumSST = sum(SST,1); +sumSSTref = sum(SST_ref,1); +assert(isequalwithequalnans(sumSST, sumSSTref)) + +sumSST = sum(SST,2); +sumSSTref = sum(SST_ref,2); +assert(isequalwithequalnans(sumSST, sumSSTref)) + +sumSST = sum(SST,3); +sumSSTref = sum(SST_ref,3); +assert(isequalwithequalnans(sumSST, sumSSTref)) + +sumSST = sum(SST); +sumSSTref = sum(SST_ref); +assert(isequalwithequalnans(sumSST, sumSSTref)) + + % writing r = round(randn(size(SST))); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <et...@us...> - 2012-06-24 05:35:22
|
Revision: 10678 http://octave.svn.sourceforge.net/octave/?rev=10678&view=rev Author: etienne Date: 2012-06-24 05:35:16 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Fill in vrml_Shape Added Paths: ----------- trunk/octave-forge/main/vrml/inst/vrml_Shape.m Added: trunk/octave-forge/main/vrml/inst/vrml_Shape.m =================================================================== --- trunk/octave-forge/main/vrml/inst/vrml_Shape.m (rev 0) +++ trunk/octave-forge/main/vrml/inst/vrml_Shape.m 2012-06-24 05:35:16 UTC (rev 10678) @@ -0,0 +1,45 @@ +## Copyright (C) 2012 Etienne Grossmann <et...@eg...> +## +## 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/>. +## +## s = vrml_Shape (s_geometry, s_appearance) - VRML code for a shape node +## +## Example: An orange flat box +## +## vrml_browse (vrml_Shape (vrml_Box ([3 2 0.2]),vrml_material([1 .5 0]))) +function s = vrml_Shape (s_geometry, s_appearance) + +if nargin < 1, s_geometry = ""; end +if nargin < 2, s_appearance = ""; end + +if !isempty (s_geometry), + s_geometry = ["\n geometry ",s_geometry]; +end +if !isempty (s_appearance), + + # Check whether a "material" is passed. If yes, + # wrap it in an Appearance + is_material = strfind (s_appearance,"material"); + if !isempty (is_material), + is_material = is_material(1) != 1 || all (s_appearance(1:is_material(1)-1) == " "); + end + if is_material + s_appearance = ["Appearance {\n",s_appearance,"}\n"]; + end + + s_appearance = ["\n appearance ",s_appearance]; + +end + +s = ["Shape {",s_appearance,s_geometry,"}\n"]; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <et...@us...> - 2012-06-24 05:16:32
|
Revision: 10677 http://octave.svn.sourceforge.net/octave/?rev=10677&view=rev Author: etienne Date: 2012-06-24 05:16:24 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Fixes Modified Paths: -------------- trunk/octave-forge/main/vrml/inst/vrml_browse.m trunk/octave-forge/main/vrml/inst/vrml_set_browser.m Modified: trunk/octave-forge/main/vrml/inst/vrml_browse.m =================================================================== --- trunk/octave-forge/main/vrml/inst/vrml_browse.m 2012-06-24 04:18:55 UTC (rev 10676) +++ trunk/octave-forge/main/vrml/inst/vrml_browse.m 2012-06-24 05:16:24 UTC (rev 10677) @@ -32,7 +32,7 @@ ## 's' : Save a snapshot in files 'octave.snapshot.NNNN.ppm' ## 'q' : Quit ## -## WARNING : FreeWRL >0.25 (http://www.crc.ca/FreeWRL/) must be installed. +## WARNING: vrml_browse() only works if a vrml browser is available. See vrml_set_browser(). ## ## BUG : The vrml browser is not killed when octave exits. Sometimes the ## vrml browser does not get raised or gets raised improperly @@ -85,9 +85,11 @@ s = [s, vrml_Background("skyColor",[.7 .7 .9])]; end +if isempty (vrml_b_name) + vrml_set_browser(); +endif -vrml_b_name = "freewrl" ; -##vrml_b_name = "/home/etienne/bin/my_freewrl.sh"; +## vrml_b_name = "freewrl" ; ##b_opt = [out_option," ",bop," ",best_option," --server --snapb octave.snap "] ##; @@ -165,7 +167,7 @@ # #################################### # #################################### - # Eventually start browser ########### + # If needed, start browser ########### if vrml_b_pid <= 0 new_browser = 1 ; if verbose, Modified: trunk/octave-forge/main/vrml/inst/vrml_set_browser.m =================================================================== --- trunk/octave-forge/main/vrml/inst/vrml_set_browser.m 2012-06-24 04:18:55 UTC (rev 10676) +++ trunk/octave-forge/main/vrml/inst/vrml_set_browser.m 2012-06-24 05:16:24 UTC (rev 10677) @@ -35,7 +35,7 @@ ## function full_path = vrml_set_browser (proposed_browser_name) -global vrml_b_name; +global vrml_b_name = []; full_path = vrml_b_name; @@ -46,8 +46,11 @@ for i = 1:numel(browser_list) ## TODO: Test this under windows - [status, full_path] = system (sprintf ("which %s", b{i})); + [status, full_path] = system (sprintf ("which %s", browser_list{i})); if status != 1 + if full_path(length(full_path)) == "\n", + full_path = full_path(1:end-1); + end vrml_b_name = full_path; return; endif @@ -61,4 +64,7 @@ if status == 1 error (sprintf ("VRML browser `%s' is not available", proposed_browser_name)); endif +if full_path(length(full_path)) == "\n", + full_path = full_path(1:end-1); +end vrml_b_name = full_path; \ 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: <et...@us...> - 2012-06-24 04:19:02
|
Revision: 10676 http://octave.svn.sourceforge.net/octave/?rev=10676&view=rev Author: etienne Date: 2012-06-24 04:18:55 +0000 (Sun, 24 Jun 2012) Log Message: ----------- Set vrml_b_name Added Paths: ----------- trunk/octave-forge/main/vrml/inst/vrml_set_browser.m Added: trunk/octave-forge/main/vrml/inst/vrml_set_browser.m =================================================================== --- trunk/octave-forge/main/vrml/inst/vrml_set_browser.m (rev 0) +++ trunk/octave-forge/main/vrml/inst/vrml_set_browser.m 2012-06-24 04:18:55 UTC (rev 10676) @@ -0,0 +1,64 @@ +## Copyright (C) 2012 Etienne Grossmann <et...@eg...> +## +## 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/>. +## + +## full_path = vrml_set_browser (proposed_browser) - Set or find a vrml browser +## +## If argument proposed_browser is passed and non-empty, then vmrl_set_browser() +## tries to determine whether proposed_browser is a valid program. If it is, +## then the global variable vrml_b_name is set to the full path, which is also +## returned. Otherwise, an error occurs. +## +## If argument proposed_browser is empty or missing, then vrml_set_browser() +## tries to determine whether either freewrl ( > 0.25) or whitedune (two vrml +## browsers) are available. If one is found, then the global variable +## vrml_b_name is set to the full path, which is also returned. Otherwise, an +## error occurs. +## +## WARNING: vrml_set_browser has only been tested under Linux. Please report +## successes / problems / patches on other systems. +## +## See also: vrml_browse(), FreeWRL homepage http://www.crc.ca/FreeWRL, +## whitedune homepage http://vrml.cip.ica.uni-stuttgart.de/dune. +## +function full_path = vrml_set_browser (proposed_browser_name) + +global vrml_b_name; + +full_path = vrml_b_name; + +if nargin < 1 || isempty (proposed_browser_name) + + browser_list = {"freewrl", "whitedune"}; + + for i = 1:numel(browser_list) + + ## TODO: Test this under windows + [status, full_path] = system (sprintf ("which %s", b{i})); + if status != 1 + vrml_b_name = full_path; + return; + endif + endfor + + error ("No VRML browser available"); +endif + +## TODO: Test this under windows +[status, full_path] = system (sprintf ("which %s", proposed_browser_name)); +if status == 1 + error (sprintf ("VRML browser `%s' is not available", proposed_browser_name)); +endif +vrml_b_name = full_path; \ 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: <par...@us...> - 2012-06-23 14:07:25
|
Revision: 10675 http://octave.svn.sourceforge.net/octave/?rev=10675&view=rev Author: paramaniac Date: 2012-06-23 14:07:19 +0000 (Sat, 23 Jun 2012) Log Message: ----------- control: minor doc enhancements (2) Modified Paths: -------------- trunk/octave-forge/main/control/inst/@lti/isminimumphase.m trunk/octave-forge/main/control/inst/@lti/isstable.m trunk/octave-forge/main/control/inst/h2syn.m trunk/octave-forge/main/control/inst/hinfsyn.m Modified: trunk/octave-forge/main/control/inst/@lti/isminimumphase.m =================================================================== --- trunk/octave-forge/main/control/inst/@lti/isminimumphase.m 2012-06-23 07:34:15 UTC (rev 10674) +++ trunk/octave-forge/main/control/inst/@lti/isminimumphase.m 2012-06-23 14:07:19 UTC (rev 10675) @@ -22,6 +22,29 @@ ## The zeros must lie in the left complex half-plane. ## The name minimum-phase refers to the fact that such a system has the ## minimum possible phase lag for the given magnitude response |sys(jw)|. +## +## @strong{Inputs} +## @table @var +## @item sys +## LTI system. +## @item tol +## Optional tolerance. Default value is 0. +## @end table +## +## @strong{Outputs} +## @table @var +## @item bool = 0 +## System is not minimum phase. +## @item bool = 1 +## System is minimum phase. +## @end table +## +## @example +## @group +## real (z) < -tol*(1 + abs (z)) continuous-time +## abs (z) < 1 - tol discrete-time +## @end group +## @end example ## @end deftypefn ## Author: Lukas Reichlin <luk...@gm...> Modified: trunk/octave-forge/main/control/inst/@lti/isstable.m =================================================================== --- trunk/octave-forge/main/control/inst/@lti/isstable.m 2012-06-23 07:34:15 UTC (rev 10674) +++ trunk/octave-forge/main/control/inst/@lti/isstable.m 2012-06-23 14:07:19 UTC (rev 10675) @@ -19,6 +19,29 @@ ## @deftypefn {Function File} {@var{bool} =} isstable (@var{sys}) ## @deftypefnx {Function File} {@var{bool} =} isstable (@var{sys}, @var{tol}) ## Determine whether LTI system is stable. +## +## @strong{Inputs} +## @table @var +## @item sys +## LTI system. +## @item tol +## Optional tolerance for stability. Default value is 0. +## @end table +## +## @strong{Outputs} +## @table @var +## @item bool = 0 +## System is not stable. +## @item bool = 1 +## System is stable. +## @end table +## +## @example +## @group +## real (p) < -tol*(1 + abs (p)) continuous-time +## abs (p) < 1 - tol discrete-time +## @end group +## @end example ## @end deftypefn ## Author: Lukas Reichlin <luk...@gm...> Modified: trunk/octave-forge/main/control/inst/h2syn.m =================================================================== --- trunk/octave-forge/main/control/inst/h2syn.m 2012-06-23 07:34:15 UTC (rev 10674) +++ trunk/octave-forge/main/control/inst/h2syn.m 2012-06-23 14:07:19 UTC (rev 10675) @@ -24,11 +24,11 @@ ## @item P ## Generalized plant. Must be a proper/realizable LTI model. ## @item nmeas -## Number of measured outputs v. The last nmeas outputs of @var{P} are connected to the +## Number of measured outputs v. The last @var{nmeas} outputs of @var{P} are connected to the ## inputs of controller @var{K}. The remaining outputs z (indices 1 to p-nmeas) are used ## to calculate the H-2 norm. ## @item ncon -## Number of controlled inputs u. The last ncon inputs of @var{P} are connected to the +## Number of controlled inputs u. The last @var{ncon} inputs of @var{P} are connected to the ## outputs of controller @var{K}. The remaining inputs w (indices 1 to m-ncon) are excited ## by a harmonic test signal. ## @end table Modified: trunk/octave-forge/main/control/inst/hinfsyn.m =================================================================== --- trunk/octave-forge/main/control/inst/hinfsyn.m 2012-06-23 07:34:15 UTC (rev 10674) +++ trunk/octave-forge/main/control/inst/hinfsyn.m 2012-06-23 14:07:19 UTC (rev 10675) @@ -25,11 +25,11 @@ ## @item P ## Generalized plant. Must be a proper/realizable LTI model. ## @item nmeas -## Number of measured outputs v. The last nmeas outputs of @var{P} are connected to the +## Number of measured outputs v. The last @var{nmeas} outputs of @var{P} are connected to the ## inputs of controller @var{K}. The remaining outputs z (indices 1 to p-nmeas) are used ## to calculate the H-infinity norm. ## @item ncon -## Number of controlled inputs u. The last ncon inputs of @var{P} are connected to the +## Number of controlled inputs u. The last @var{ncon} inputs of @var{P} are connected to the ## outputs of controller @var{K}. The remaining inputs w (indices 1 to m-ncon) are excited ## by a harmonic test signal. ## @item gmax This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <par...@us...> - 2012-06-23 07:34:22
|
Revision: 10674 http://octave.svn.sourceforge.net/octave/?rev=10674&view=rev Author: paramaniac Date: 2012-06-23 07:34:15 +0000 (Sat, 23 Jun 2012) Log Message: ----------- control: minor doc enhancements Modified Paths: -------------- trunk/octave-forge/main/control/inst/covar.m trunk/octave-forge/main/control/inst/dlqe.m trunk/octave-forge/main/control/inst/isctrb.m trunk/octave-forge/main/control/inst/isdetectable.m trunk/octave-forge/main/control/inst/isobsv.m trunk/octave-forge/main/control/inst/isstabilizable.m trunk/octave-forge/main/control/inst/lqe.m Modified: trunk/octave-forge/main/control/inst/covar.m =================================================================== --- trunk/octave-forge/main/control/inst/covar.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/covar.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -24,7 +24,7 @@ ## @item sys ## LTI model. ## @item w -## Intensity of white noise inputs which drive @var{sys}. +## Intensity of Gaussian white noise inputs which drive @var{sys}. ## @end table ## ## @strong{Outputs} Modified: trunk/octave-forge/main/control/inst/dlqe.m =================================================================== --- trunk/octave-forge/main/control/inst/dlqe.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/dlqe.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -37,6 +37,7 @@ ## State transition matrix of discrete-time system (n-by-n). ## @item g ## Process noise matrix of discrete-time system (n-by-g). +## If @var{g} is empty @code{[]}, an identity matrix is assumed. ## @item c ## Measurement matrix of discrete-time system (p-by-n). ## @item q @@ -45,7 +46,7 @@ ## Measurement noise covariance matrix (p-by-p). ## @item s ## Optional cross term covariance matrix (g-by-p), s = cov(w,v). -## If @var{s} is not specified, a zero matrix is assumed. +## If @var{s} is empty @code{[]} or not specified, a zero matrix is assumed. ## @end table ## ## @strong{Outputs} Modified: trunk/octave-forge/main/control/inst/isctrb.m =================================================================== --- trunk/octave-forge/main/control/inst/isctrb.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/isctrb.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -36,6 +36,7 @@ ## Input matrix. ## @item e ## Descriptor matrix. +## If @var{e} is empty @code{[]} or not specified, an identity matrix is assumed. ## @item tol ## Optional roundoff parameter. Default value is 0. ## @end table Modified: trunk/octave-forge/main/control/inst/isdetectable.m =================================================================== --- trunk/octave-forge/main/control/inst/isdetectable.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/isdetectable.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -39,6 +39,7 @@ ## Measurement matrix. ## @item e ## Descriptor matrix. +## If @var{e} is empty @code{[]} or not specified, an identity matrix is assumed. ## @item tol ## Optional tolerance for stability. Default value is 0. ## @item dflg = 0 Modified: trunk/octave-forge/main/control/inst/isobsv.m =================================================================== --- trunk/octave-forge/main/control/inst/isobsv.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/isobsv.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -36,6 +36,7 @@ ## Measurement matrix. ## @item e ## Descriptor matrix. +## If @var{e} is empty @code{[]} or not specified, an identity matrix is assumed. ## @item tol ## Optional roundoff parameter. Default value is 0. ## @end table Modified: trunk/octave-forge/main/control/inst/isstabilizable.m =================================================================== --- trunk/octave-forge/main/control/inst/isstabilizable.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/isstabilizable.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -39,6 +39,7 @@ ## Input matrix. ## @item e ## Descriptor matrix. +## If @var{e} is empty @code{[]} or not specified, an identity matrix is assumed. ## @item tol ## Optional tolerance for stability. Default value is 0. ## @item dflg = 0 Modified: trunk/octave-forge/main/control/inst/lqe.m =================================================================== --- trunk/octave-forge/main/control/inst/lqe.m 2012-06-22 15:52:36 UTC (rev 10673) +++ trunk/octave-forge/main/control/inst/lqe.m 2012-06-23 07:34:15 UTC (rev 10674) @@ -42,6 +42,7 @@ ## State transition matrix of continuous-time system (n-by-n). ## @item g ## Process noise matrix of continuous-time system (n-by-g). +## If @var{g} is empty @code{[]}, an identity matrix is assumed. ## @item c ## Measurement matrix of continuous-time system (p-by-n). ## @item q @@ -50,7 +51,7 @@ ## Measurement noise covariance matrix (p-by-p). ## @item s ## Optional cross term covariance matrix (g-by-p), s = cov(w,v). -## If @var{s} is not specified, a zero matrix is assumed. +## If @var{s} is empty @code{[]} or not specified, a zero matrix is assumed. ## @end table ## ## @strong{Outputs} This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |