This list is closed, nobody may subscribe to it.
2000 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(14) |
Nov
(10) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
(4) |
Mar
|
Apr
(3) |
May
(13) |
Jun
(2) |
Jul
(7) |
Aug
|
Sep
(2) |
Oct
(5) |
Nov
(8) |
Dec
|
2002 |
Jan
|
Feb
|
Mar
(19) |
Apr
(8) |
May
(8) |
Jun
(8) |
Jul
(4) |
Aug
(8) |
Sep
(19) |
Oct
(13) |
Nov
(37) |
Dec
(2) |
2003 |
Jan
(7) |
Feb
(23) |
Mar
(16) |
Apr
(4) |
May
(18) |
Jun
(9) |
Jul
(7) |
Aug
(6) |
Sep
(7) |
Oct
|
Nov
(39) |
Dec
(57) |
2004 |
Jan
(21) |
Feb
(15) |
Mar
(17) |
Apr
(9) |
May
(17) |
Jun
(65) |
Jul
(33) |
Aug
(48) |
Sep
(93) |
Oct
(35) |
Nov
(18) |
Dec
(4) |
2005 |
Jan
(20) |
Feb
(59) |
Mar
(17) |
Apr
(59) |
May
(77) |
Jun
(32) |
Jul
(34) |
Aug
(8) |
Sep
(34) |
Oct
(26) |
Nov
(65) |
Dec
(66) |
2006 |
Jan
(45) |
Feb
(37) |
Mar
(50) |
Apr
(32) |
May
(48) |
Jun
(42) |
Jul
(12) |
Aug
(53) |
Sep
(51) |
Oct
(79) |
Nov
(46) |
Dec
(25) |
2007 |
Jan
(120) |
Feb
(78) |
Mar
(45) |
Apr
(91) |
May
(155) |
Jun
(66) |
Jul
(96) |
Aug
(110) |
Sep
(145) |
Oct
(189) |
Nov
(68) |
Dec
(160) |
2008 |
Jan
(163) |
Feb
(212) |
Mar
(209) |
Apr
(157) |
May
(216) |
Jun
(120) |
Jul
(80) |
Aug
(83) |
Sep
(98) |
Oct
(120) |
Nov
(80) |
Dec
(129) |
2009 |
Jan
(45) |
Feb
(80) |
Mar
(174) |
Apr
(142) |
May
(133) |
Jun
(191) |
Jul
(183) |
Aug
(138) |
Sep
(77) |
Oct
(141) |
Nov
(209) |
Dec
(131) |
2010 |
Jan
(85) |
Feb
(213) |
Mar
(245) |
Apr
(222) |
May
(168) |
Jun
(82) |
Jul
(50) |
Aug
(144) |
Sep
(92) |
Oct
(80) |
Nov
(64) |
Dec
(78) |
2011 |
Jan
(58) |
Feb
(98) |
Mar
(112) |
Apr
(98) |
May
(64) |
Jun
(150) |
Jul
(126) |
Aug
(59) |
Sep
(271) |
Oct
(154) |
Nov
(321) |
Dec
(183) |
2012 |
Jan
(146) |
Feb
(217) |
Mar
(426) |
Apr
(208) |
May
(206) |
Jun
(230) |
Jul
(158) |
Aug
(170) |
Sep
(237) |
Oct
(260) |
Nov
(178) |
Dec
|
From: Ole J. H. <wat...@ya...> - 2004-10-29 00:31:03
|
Hi, again. Do you have some suggestions how to override or remove the warnings I am getting? That would be terrific. Cheers, Ole J. A benchmark test, with my Octave, compiled with gcc-3.3.3... Fails in the rest, since we have no gcd2....can I use gcd? > I. Matrix calculation > --------------------- > > Creation, transp., deformation of a 1500x1500 matrix (sec): 1.008 > 800x800 normal distributed random matrix ^1000______ (sec): 0.8307 > Sorting of 2,000,000 random values__________________ (sec): 1.291 > 700x700 cross-product matrix (b = a' * a)___________ (sec): 4.181 > Linear regression over a 600x600 matrix (c = a \ b') (sec): 0.9707 > ------------------------------------------------------ > FFT over 800,000 random values______________________ (sec): 0.9987 > Eigenvalues of a 320x320 random matrix______________ (sec): 1.196 > Determinant of a 650x650 random matrix______________ (sec): 1.216 > Cholesky decomposition of a 900x900 matrix__________ (sec): 0.6573 > Inverse of a 400x400 random matrix__________________ (sec): 0.8017 > ------------------------------------------------------ > Trimmed geom. mean (2 extremes eliminated): 0.9855 > > III. Programmation > ------------------ > 750,000 Fibonacci numbers calculation (vector calc)_ (sec): 1.772 > Creation of a 2250x2250 Hilbert matrix (matrix calc) (sec): 1.078 > |
From: Ole J. H. <wat...@ya...> - 2004-10-28 22:38:14
|
Hi, Yippi kay ay, I am making progress. ;-) I've solved the Registry entries now. There were two different definitions of OCTKEY in octave.nsi and Makefile, which made two registry entries for our stand alone octave. Now I need to fix the symlinks in my oct-path's. The function dispatch is called by default, isn't it? During startup of Octave I'm getting this warning message: Warning: potential Matlab compatiblity problem: " used as string delimiter. Where is the origin of this warning? What file? Is it octave-core of sf-octave? When I'm calling help <function> I am getting this error: error: feval: the symbol 'dispatch_help' is not valid as a function. I guess this is because of the symlinks? Maybe it's a hardlink? Have you made a script that I can use to change the hardlinks into symlinks again? That would be terrific if you have made such script? Or maybe there is someone who has made it before me? I could always remove octave-forge from my octave distribution, but that would be very unfortunate. ;-) Cheers, Ole |
From: Ole J. H. <ol...@wa...> - 2004-10-28 22:30:03
|
Hi, Yippi kay ay, I am making progress. ;-) I've solved the Registry entries now. There were two different definitions of OCTKEY in octave.nsi and Makefile, which made two registry entries for our stand alone octave. Now I need to fix the symlinks in my oct-path's. The function dispatch is called by default, isn't it? During startup of Octave I'm getting this warning message: Warning: potential Matlab compatiblity problem: " used as string delimiter. Where is the origin of this warning? What file? Is it octave-core of sf-octave? When I'm calling help <function> I am getting this error: error: feval: the symbol 'dispatch_help' is not valid as a function. I guess this is because of the symlinks? Maybe it's a hardlink? Have you made a script that I can use to change the hardlinks into symlinks again? That would be terrific if you have made such script? Or maybe there is someone who has made it before me? I could always remove octave-forge from my octave distribution, but that would be very unfortunate. ;-) Cheers, Ole |
From: Ole J. H. <wat...@ya...> - 2004-10-28 14:06:13
|
Hi, Paul. Yes, I used octave.nsi, and No, I didn't use the file you provided. I've built Octave, octave-forge from scratch. I've tested the gshow function, and my gnuplot pops up. ;-) I can install Octave by using the installer, which works. I've tried NSIS-2.02 and 2.0, and they both are giving this error: What version of NSIS did you make the Octave-2.1.50 package with? This is what doesn't work(, and what to do... ) No Language selection appears: This is easy to solve. No License text appears: It shouldn't be difficult to fix. At the end of the installation: Windows can't find run.exe, and throws this error message at me: "Error: Couldn't find Files\GNU anywhere. I even looked in the PATH, I also tried appending [1]: [2]:.exe " Seen this error before? And rxvt doesn't pop up either...What libraries are rxvt depending on? I've tried to compare with the install-package for Octave-2.1.50. I've compared the entries in REGEDIT as well. Same entries are found in both Octave-2.1.50 and Octave-2.1.60. I believe the problem isn't here....Rather the PATH settings, I guess? Personally I can survive without the language and license, but when install_octave.sh is called I'm getting the error mentioned above. Any suggestions? Ole Paul Kienzle wrote: > So you rebuilt from scratch? Or did you use my version? > Obviously the former since my version had octave-forge > already installed in /opt/octave-2.1.60/site/octave-forge. > > Did you use octave.nsi? What changes did you make? > > What did you use for the cygwin environment? The one I > provided? Have you tested it yet? Did it work? > > My lapack.dll includes blas. The idea was to make > platform specific lapack-atlas-arch.dll files and copy > them over lapack.dll at install time. Note that we > should have a copy of lapack.dll in lapack-base.dll > in case there is any problems. > > I don't know why the FILE command isn't working. > > - Paul > > On Oct 28, 2004, at 2:31 AM, Ole Jacob Hagen wrote: > >> Hi, Paul. >> >> During the late hours tonight I managed to make a standalone >> Octave-2.1.60 with Octave-forge and win32-version of Gnuplot. >> >> Now I've just have to solve the symlinks of the oct-files, and go >> through all the oct-files. >> >> I didn't get a "permission denied" error when I quit Octave. >> >> I've installed octave-forge into Octave's /share and libexec as done >> on Linux-systems. >> Why this doesn't happen automatically in cygwin environment, I don't >> know. >> But it should, right? >> >> Thanks for helping out, Paul. >> Appreciate it a lot. >> >> This didn't work on the new version of NSIS (2.0): >> >> FILE /r "${ROOT}\opt\octave-${VERSION}\bin\*.*" >> >> I should have a standalone application this day. >> >> Need a suggestion: >> >> Should I use ATLAS and/or BLAS packages? >> >> Cheers, >> >> Ole J. >> > > |
From: Paul K. <pki...@us...> - 2004-10-28 11:44:42
|
So you rebuilt from scratch? Or did you use my version? Obviously the former since my version had octave-forge already installed in /opt/octave-2.1.60/site/octave-forge. Did you use octave.nsi? What changes did you make? What did you use for the cygwin environment? The one I provided? Have you tested it yet? Did it work? My lapack.dll includes blas. The idea was to make platform specific lapack-atlas-arch.dll files and copy them over lapack.dll at install time. Note that we should have a copy of lapack.dll in lapack-base.dll in case there is any problems. I don't know why the FILE command isn't working. - Paul On Oct 28, 2004, at 2:31 AM, Ole Jacob Hagen wrote: > Hi, Paul. > > During the late hours tonight I managed to make a standalone > Octave-2.1.60 with Octave-forge and win32-version of Gnuplot. > > Now I've just have to solve the symlinks of the oct-files, and go > through all the oct-files. > > I didn't get a "permission denied" error when I quit Octave. > > I've installed octave-forge into Octave's /share and libexec as done > on Linux-systems. > Why this doesn't happen automatically in cygwin environment, I don't > know. > But it should, right? > > Thanks for helping out, Paul. > Appreciate it a lot. > > This didn't work on the new version of NSIS (2.0): > > FILE /r "${ROOT}\opt\octave-${VERSION}\bin\*.*" > > I should have a standalone application this day. > > Need a suggestion: > > Should I use ATLAS and/or BLAS packages? > > Cheers, > > Ole J. > |
From: Ole J. H. <wat...@ya...> - 2004-10-28 06:30:02
|
Hi, Paul. During the late hours tonight I managed to make a standalone Octave-2.1.60 with Octave-forge and win32-version of Gnuplot. Now I've just have to solve the symlinks of the oct-files, and go through all the oct-files. I didn't get a "permission denied" error when I quit Octave. I've installed octave-forge into Octave's /share and libexec as done on Linux-systems. Why this doesn't happen automatically in cygwin environment, I don't know. But it should, right? Thanks for helping out, Paul. Appreciate it a lot. This didn't work on the new version of NSIS (2.0): FILE /r "${ROOT}\opt\octave-${VERSION}\bin\*.*" I should have a standalone application this day. Need a suggestion: Should I use ATLAS and/or BLAS packages? Cheers, Ole J. |
From: Paul K. <pki...@us...> - 2004-10-28 03:09:11
|
Ole, Here's an outline of what needs to be done for a new Windows release. I'm CC'ing Brian Bliss and the octave-forge list in case anyone wants to help you. I've put my compilation of octave-2.1.60.tar.bz2 into the root of waterthrill. Expand it in the /opt directory. I get a "Permission denied" error when I quit octave. Let me know if it works better for you. The symbolic linking stuff isn't finished yet. I didn't realize earlier that octave was doing hard links. Cygwin soft links might install automatically, but it may be that link implementation might be windows version specific so we may need to force the link during install. I've updated the link scripts generated by make to remove the old symlink before installing the new. I'm attaching mklinks.sh for converting the /opt/octave-2.1.60/base/oct via $ source mklinks.sh when in that directory. This should be run from the current build script but it isn't. The current post-install script runs mklinks again in the right directories, but this is untested. I know the octave.nsi NSIS script is broken. I've been hacking at it without testing it. I thought it was better to post and not lose what I was working on since we didn't really have a working build anyway. You will need to do some work to make sure the proper directories are installed. cygwin, bin, base and site should do it. E.g., SetOutPath $INSTDIR\bin FILE /r "${ROOT}\opt\octave-${VERSION}\bin\*.*" Next you will have to set the Cygwin registry keys so that the appropriate directories are mounted. E.g., /bin -> $INSTDIR/cygwin /usr/bin -> $INSTDIR/bin /opt/octave-${VERSION} -> $INSTDIR / -> $INSTDIR /home -> $DOCUMENTS I'm not entirely convinced this will work. Can you have /usr/bin without having /usr? Can you have / and /opt/octave-2.1.60 pointing to the same directory? Make sure to create directories for tmp and for the users octave files: CreateDirectory $INSTDIR\tmp. CreateDirectory $DOCUMENTS\octave Make sure that CreateDirectory doesn't fail if the directory already exists, or empty it if it does --- we wouldn't want to delete the user's private octave scripts. Presumably the HOME environment variable should be set to /home/octave. Somewhere there is a system startup file which should automatically include /home/octave on the octave path. Eliminate as much as you can from the octave_install.sh script. I bet NSIS is capable of doing everything we need. Particularly, setting up an editor and predefining all the constants for edit.m would be nice. Figure out what's up with the o|c|t|a|v|e|>| prompt which people sometimes see. We should be able to do a drop-in replacement with the atlas dlls. I haven't constructed the atlas dlls so I've never tried this. We should make sure we don't overwrite lapack.dll when we do the replacement. Be sure to test both system install and user install. I would like a nag screen asking for Octave donations. 30000 downloads x $10/year is 3 full time employees working on octave. I'm not going to discuss the requirements for a dev release here. This should be enough to get you started, but I'm sure there are other details. There is a reason I haven't done a release in a while 8-) Once we work out the kinks in this release, it will be smooth sailing in the future. - Paul On Oct 27, 2004, at 6:11 PM, Ole Jacob Hagen wrote: > You can send me your standalone there... > Which version of NSIS are you using? I am using the new release....It > doesn't work properly...Have to edit the nsi-file... > |
From: Etienne G. <et...@cs...> - 2004-10-27 12:07:43
|
Hi all, I have just tested imrotate briefly and commited it on octave-forge cvs. Thanks for your contribution, Etienne On Tue, Oct 26, 2004 at 09:50:41AM +0200, Justus H. Piater wrote: # OK, here's my proposed replacement for imrotate, with fixes applied, # humbly submitted for inclusion in octave-forge. #=20 # Justus #=20 #=20 # Stefan van der Walt <st...@su...> wrote on Thu, 21 Oct 2004 # 11:49:51 +0200: #=20 # > Hi Justin # > # > The script works well. If you want it to be incorporated into # > octave-forge #=20 # ## Copyright (C) 2004 Justus Piater # ## # ## 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, write to the Free Software # ## Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-130= 7, USA. #=20 # ## -*- texinfo -*- # ## @deftypefn {Function File} {}=20 # ## imrotate(@var{imgPre}, @var{theta}, @var{method}, @var{bb= ox}) # ## Rotation of a 2D matrix about its center. # ## # ## Input parameters: # ## # ## @var{imgPre} an input image matrix # ## # ## @var{theta} the rotation angle in degrees counterclockwise # ## # ## @var{method} "nearest" neighbor (default; faster, but produces # ## aliasing effects) or "bilinear" interpolation # ## (preferred; does anti-aliasing) # ## # ## @var{bbox} "loose" (default) or "crop" # ## # ## Output parameters: # ## # ## @var{imgPos}t the rotated image matrix # ## # ## @var{H} the homography mapping original to rotated pixel # ## coordinates. To map a coordinate vector c =3D [x;y= ] to its # ## rotated location, compute round((@var{H} * [c; 1])(1:2)). # ## @end deftypefn #=20 # ## Author: Justus H. Piater <Jus...@UL...> # ## Created: 2004-10-18 # ## Version: 0.1 #=20 # function [imgPost, H] =3D imrotate(imgPre, theta, method, bbox) # if (nargin < 2) # help("imrotate"); # return; # endif #=20 # theta =3D theta * pi/180; #=20 # sizePre =3D size(imgPre); #=20 # ## We think in x,y coordinates here (rather than row,column). #=20 # R =3D [cos(theta) sin(theta); -sin(theta) cos(theta)]; #=20 # if (nargin =3D=3D 4 && strcmp(bbox, "crop")) # sizePost =3D sizePre; # else # ## Compute new size by projecting image corners through the rotatio= n: # corners =3D [0, 0; # (R * [sizePre(2); 1])'; # (R * [sizePre(2); sizePre(1)])'; # (R * [1; sizePre(1)])' ]; # sizePost(2) =3D ceil(max(corners(:,1))) - floor(min(corners(:,1))); # sizePost(1) =3D ceil(max(corners(:,2))) - floor(min(corners(:,2))); # endif #=20 # ## Compute the translation part of the homography: # oPre =3D ([sizePre(2) ; sizePre(1) ] + 1) / 2; # oPost =3D ([sizePost(2); sizePost(1)] + 1) / 2; # T =3D oPost - R * oPre; #=20 # ## And here is the homography mapping old to new coordinates: # H =3D [[R; 0 0] [T; 1]]; #=20 # Hinv =3D inv(H); #=20 # ## "Pre" variables hold pre -rotation values; # ## "Post" variables hold post-rotation values. #=20 # ## Target coordinates: # [xPost, yPost] =3D meshgrid(1:(sizePost(2)), 1:(sizePost(1))); #=20 # ## Compute corresponding source coordinates: # xPre =3D Hinv(1,1) * xPost + Hinv(1,2) * yPost + Hinv(1,3); # yPre =3D Hinv(2,1) * xPost + Hinv(2,2) * yPost + Hinv(2,3); # ## zPre is guaranteed to be 1, since the last row of H (and thus of # ## Hinv) is [0 0 1]. #=20 # ## Now map the image, either by nearest neighbor or by bilinear # ## interpolation: # if (nargin < 3 || !size(method) || strcmp(method, "nearest")) # ## nearest-neighbor: simply round Pre coordinates # xPre =3D round(xPre); # yPre =3D round(yPre); # valid =3D find(1 <=3D xPre & xPre <=3D sizePre(2) & # 1 <=3D yPre & yPre <=3D sizePre(1) ); # iPre =3D sub2ind(sizePre , yPre (valid), xPre (valid)); # iPost =3D sub2ind(sizePost, yPost(valid), xPost(valid)); #=20 # imgPost =3D zeros(sizePost); # imgPost(iPost) =3D imgPre(iPre); # else # ## bilinear interpolation between the four floor and ceiling coordi= nates # xPreFloor =3D floor(xPre); # xPreCeil =3D ceil (xPre); # yPreFloor =3D floor(yPre); # yPreCeil =3D ceil (yPre); #=20 # valid =3D find(1 <=3D xPreFloor & xPreCeil <=3D sizePre(2) & # 1 <=3D yPreFloor & yPreCeil <=3D sizePre(1) ); #=20 # xPreFloor =3D xPreFloor(valid); # xPreCeil =3D xPreCeil (valid); # yPreFloor =3D yPreFloor(valid); # yPreCeil =3D yPreCeil (valid); #=20 # ## In the following, FC =3D floor(x), ceil(y), etc. # iPreFF =3D sub2ind(sizePre, yPreFloor, xPreFloor); # iPreCF =3D sub2ind(sizePre, yPreFloor, xPreCeil ); # iPreCC =3D sub2ind(sizePre, yPreCeil , xPreCeil ); # iPreFC =3D sub2ind(sizePre, yPreCeil , xPreFloor); #=20 # ## We'll have to weight by the fractional part of the coordinates: # xPreFrac =3D xPre(valid) - xPreFloor; # yPreFrac =3D yPre(valid) - yPreFloor; #=20 # iPost =3D sub2ind(sizePost, yPost(valid), xPost(valid)); #=20 # imgPost =3D zeros(sizePost); # imgPost(iPost) =3D ... # round(imgPre(iPreFF) .* (1 - xPreFrac) .* (1 - yPreFrac) + ... # imgPre(iPreCF) .* xPreFrac .* (1 - yPreFrac) + ... # imgPre(iPreCC) .* xPreFrac .* yPreFrac + ... # imgPre(iPreFC) .* (1 - xPreFrac) .* yPreFrac ); # endif # endfunction #=20 # --=20 # Justus H. Piater, Ph.D. http://www.montefiore.ulg.ac.be/~piater= / # Institut Montefiore, B28 Phone: +32-4-366-2279 # Universit=E9 de Li=E8ge, Belgium Fax: +32-4-366-2620 --=20 Etienne Grossmann ------ http://www.cs.uky.edu/~etienne |
From: Laurent M. <lau...@mo...> - 2004-10-26 13:52:55
|
Hi, Few weeks ago, I managed to compile Octave 2.1.60 on MinGW 1.0.9. It's not fully functional but... Here are some remarks: - I forget to compile readline so my binary is not really usable. I'm not sure that readline compile on MinGW - I used ./configure --disable-static --enable-shared --disable-readline --enable-dl - I added -lwsock32 which wasn't detected by ./configure - In /usr/include/winnt.h, I disabled typedef union IMAGE_AUX_SYMBOL because of a name conflict with Array. - For liboctinterp I added a $(DLD_PICOBJ) into the rule of src/Makefile - In src/DLD-FUNCTIONS/sort.cc, I 'sed' s/= octave_NaN/= lo_ieee_nan_value ()/ - I finish install by hand, copying some dlls into the binary directory. And it works. Just see the screenshot ;-) ---8<--- Administrateur@BABEL /local/bin $ octave GNU Octave, version 2.1.60 (i686-pc-mingw32). Copyright (C) 2004 John W. Eaton. This is free software; see the source code for copying conditions. There is ABSOLUTELY NO WARRANTY; not even for MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE. For details, type `warranty'. Additional information about Octave is available at http://www.octave.org. Please contribute if you find this software useful. For more information, visit http://www.octave.org/help-wanted.html Report bugs to <bu...@oc...> (but first, please read http://www.octave.org/bugs.html to learn how to write a helpful report). a = 1 a = 1 a + 2 ans = 3 b = 3 b = 3 svd(randn(10)) ans = 5.04293 4.58952 4.06259 3.51172 2.99096 1.52523 1.30556 1.12114 0.80163 0.52345 --->8--- -- Dr. Laurent Mazet: Research Engineer /V\ Centre de Recherche de MOTOROLA Tel: +33 (0)1 69 35 48 30 =-=-=-=-=-=-=-=-=-=-= Email: ma...@cr... |
From: Ole J. H. <wat...@ya...> - 2004-10-26 13:04:43
|
Hi. Have someone planned to make a binary version of Octave-2.1.60 + octave-forge + gnuplot for Windows? I am required to make a binary package, but how updated are the how-to guides? Cheers, Ole J. |
From: <Jus...@UL...> - 2004-10-26 07:51:02
|
OK, here's my proposed replacement for imrotate, with fixes applied, humbly submitted for inclusion in octave-forge. Justus Stefan van der Walt <st...@su...> wrote on Thu, 21 Oct 2004 11:49:51 +0200: > Hi Justin > > The script works well. If you want it to be incorporated into > octave-forge |
From: Michael C. <mic...@ua...> - 2004-10-22 16:02:17
|
On Friday 22 October 2004 12:19, Paul Kienzle wrote: > On Oct 22, 2004, at 9:49 AM, Michael Creel wrote: > > Hi again Paul, > > One thing, I was wondering if it is good policy to add directories the > > way I > > did with "econometrics". I think that the stuff I added is different > > enough > > and interdependent enough so that it should not just be dropped into > > the > > main/statistics directory. I would have used a subdir inside > > statistics, > > except I understand that 2nd level subdir of main don't make it into > > the > > package. IS that correct? Any comments about using a new dir? > > Michael > > The choice of what goes into a separate directory should be driven by > the likely audience. MLE should therefore go into the statistics > directory > since it is applicable far beyond the econometrics community. If there > are functions specific to econometrics, they should go into a separate > econometrics directory. > > Since everything is in a flat namespace I don't find a hierarchical > organization within directories particularly compelling, and certainly > not > compelling enough to support it in the test and install scripts. I > don't > object to others doing so if they are so inclined. > > - Paul Well, since GMM estimation is also known as "minimum chi square" estimation, which is just as venerable as MLE, maybe they should all go there. Once I have them properly documented with usage help I'll move them. Michael |
From: Paul K. <pki...@us...> - 2004-10-22 12:19:31
|
On Oct 22, 2004, at 9:49 AM, Michael Creel wrote: > Hi again Paul, > One thing, I was wondering if it is good policy to add directories the > way I > did with "econometrics". I think that the stuff I added is different > enough > and interdependent enough so that it should not just be dropped into > the > main/statistics directory. I would have used a subdir inside > statistics, > except I understand that 2nd level subdir of main don't make it into > the > package. IS that correct? Any comments about using a new dir? > Michael The choice of what goes into a separate directory should be driven by the likely audience. MLE should therefore go into the statistics directory since it is applicable far beyond the econometrics community. If there are functions specific to econometrics, they should go into a separate econometrics directory. Since everything is in a flat namespace I don't find a hierarchical organization within directories particularly compelling, and certainly not compelling enough to support it in the test and install scripts. I don't object to others doing so if they are so inclined. - Paul |
From: Stefan v. d. W. <st...@su...> - 2004-10-21 09:50:10
|
Hi Justin The script works well. If you want it to be incorporated into octave-forge - add a license - fix imgrotate() octave:1> imgrotate error: `theta' undefined near line 31 column 11 error: evaluating binary operator `*' near line 31, column 17 error: evaluating binary operator `/' near line 31, column 21 error: evaluating assignment expression near line 31, column 9 error: called from `imgrotate' in file `/tmp/imgrotate.m' - attach it to an email (do not include it in the text body) Regards Stefan On Mon, Oct 18, 2004 at 03:55:03PM +0200, Justus H. Piater wrote: > Hi, > > I've had some problems with octave-forge's imrotate.m (lack of > precision, global gray-level alteration, inability to recover the > rotation mapping), so I wrote my own from scratch. > > Highlights: > > - 100% precise (unless you find bugs...), as it works by applying a > rotation homography to each pixel coordinate. The homography is > returned to the caller if desired. > > - "nearest"-neighbor mapping or "bilinear" interpolation > > - "loose" or "crop" bounding box > > - faster than the existing imrotate (on the few informal tests I ran) > > - does not rely on external functions not in core octave > > - code is relatively compact and intuitive (to me at least...) > > Caveats: > > - Only a single-band image matrix is accepted as input for now. > > - Its memory usage can still be improved. It makes heavy use of > exhaustive index lists (to take advantage of vector notation); the > current implementation keeps more of them around simultaneously than > necessary. > > The function is currently called imgrotate to allow it to coexist with > the existing imrotate. However, unless bugs show up, I don't see why > it should not eventually take its place. > > You feedback is more than welcome. > > Enjoy, > Justus > |
From: Michael C. <mic...@ua...> - 2004-10-20 10:40:44
|
Hello, I've added functions for generalized method of moments (GMM) estimation to the directory main/econometrics. The functions need the addition of help messages, but for now there is the script gmm_example.m, which shows how to use the set of functions. The basic thing a user needs to do is define a function that returns moments for estimation using the framework function m = my_moments(theta, data, otherargs) < lines to calculate moments> endfunction In this framework: * theta is a kX1 parameter vector * data is an nXp matrix * m is a nXg matrix of moment contributution * otherargs is whatever else is needed to calculate the moments The user must also provide a weight matrix. The example shows how to do this when the moments are uncorrelated. Comments/questions welcome. Michael |
From: Michael C. <mic...@ua...> - 2004-10-20 09:31:00
|
Hello, I've added functions for maximum likelihood estimation to the directory main/econometrics. The functions need the addition of help messages, but for now there is the script mle_example.m, which shows how to use the set of functions. The basic thing a user needs to do is define the log-likelihood function for a model using the framework function log_likelihood = my_likelihood(theta, data, otherargs) < lines to calculate log_likelihood> endfunction or optionally function [log_likelihood, score] = my_likelihood(theta, data, otherargs) < lines to calculate log_likelihood and score> endfunction In this framework: * theta is a kX1 parameter vector * data is an nXp matrix * log_likelihood is an nX1 vector of log-likelihood contributions * score is and nXk matrix of score contributions, the derivatives of the rows of log_likelihood w.r.t the transpose of theta Otherargs is whatever else is needed to calculate the likelihood function. It may be an empty place holder. Comments welcome. I'm planning to add similar functions for GMM estimation soon. Michael |
From: David B. <Dav...@mo...> - 2004-10-20 09:11:07
|
Gernot, As stated in our off-line disscussion, you correctly diagnosed this problem as the constructor not explicitly initializing has_alias to false. I've committed the fix you supplied for this problem.. Regards David According to Gernot Hueber <hu...@ri...> (on 10/19/04): > Hello, > > I am using octave-2.1.59 with octave-forge 2004.09.09 on FreeBSD > 5.2-current, but there is problem with dispatch. Dispatched functions > are not accessible and return following error: > error: feval: the symbol `' is not valid as a function > See compile log snippet at the bottom > > Can you tell what is going wrong here? > > Gernot > > Function lu and glu are available (I have commented all dispatch calls > in the PKG_ADD files): > > octave-2.1.59:1> lu > > *** lu: > > - Loadable Function: [L, U, P] = lu (A) > Compute the LU decomposition of A, using subroutines from LAPACK. > The result is returned in a permuted form, according to the > optional return value P. For example, given the matrix `a = [1, > 2; 3, 4]', > [...] > octave-2.1.59:1> dispatch("lu","glu","galois") > octave-2.1.59:2> lu > error: feval: the symbol `' is not valid as a function > octave-2.1.59:2> glu > > *** glu: > > - Loadable Function: [L, U, P] = glu (A) > Compute the LU decomposition of A in a Galois Field. The result is > returned in a permuted form, according to the optional return value > P. For example, given the matrix `a = gf([1, 2; 3, 4],3)', > > [l, u, p] = glu (a) > [...] > > Compilation worked nice without warning/error/etc... > > midori# gmake > mkoctfile -DHAVE_OCTAVE_21 -v -DUSE_TERM -DHAVE_TERMCAP_H > -DTYPEID_HAS_CLASS dispatch.cc > g++ -c -L/usr/local/include -fPIC -I/usr/local/include/octave-2.1.59 > -I/usr/local/include/octave-2.1.59/octave -I/usr/local/include -mieee-fp > -g -O2 -DHAVE_OCTAVE_21 -DUSE_TERM -DHAVE_TERMCAP_H -DTYPEID_HAS_CLASS > dispatch.cc -o dispatch.o > gcc -shared -o dispatch.oct dispatch.o -L/usr/local/lib/octave-2.1.59 > -loctinterp -loctave -lcruft -L/usr/local/lib -lalapack -lcblas > -lf77blas -latlas -lreadline -lncurses -lm -L/usr/local/lib -L/usr/lib > -lg2c -lm > > > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Octave-dev mailing list > Oct...@li... > https://lists.sourceforge.net/lists/listinfo/octave-dev -- David Bateman Dav...@mo... Motorola CRM +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary |
From: Gernot H. <hu...@ri...> - 2004-10-19 11:19:57
|
Hello, I am using octave-2.1.59 with octave-forge 2004.09.09 on FreeBSD 5.2-current, but there is problem with dispatch. Dispatched functions are not accessible and return following error: error: feval: the symbol `' is not valid as a function See compile log snippet at the bottom Can you tell what is going wrong here? Gernot Function lu and glu are available (I have commented all dispatch calls in the PKG_ADD files): octave-2.1.59:1> lu *** lu: - Loadable Function: [L, U, P] = lu (A) Compute the LU decomposition of A, using subroutines from LAPACK. The result is returned in a permuted form, according to the optional return value P. For example, given the matrix `a = [1, 2; 3, 4]', [...] octave-2.1.59:1> dispatch("lu","glu","galois") octave-2.1.59:2> lu error: feval: the symbol `' is not valid as a function octave-2.1.59:2> glu *** glu: - Loadable Function: [L, U, P] = glu (A) Compute the LU decomposition of A in a Galois Field. The result is returned in a permuted form, according to the optional return value P. For example, given the matrix `a = gf([1, 2; 3, 4],3)', [l, u, p] = glu (a) [...] Compilation worked nice without warning/error/etc... midori# gmake mkoctfile -DHAVE_OCTAVE_21 -v -DUSE_TERM -DHAVE_TERMCAP_H -DTYPEID_HAS_CLASS dispatch.cc g++ -c -L/usr/local/include -fPIC -I/usr/local/include/octave-2.1.59 -I/usr/local/include/octave-2.1.59/octave -I/usr/local/include -mieee-fp -g -O2 -DHAVE_OCTAVE_21 -DUSE_TERM -DHAVE_TERMCAP_H -DTYPEID_HAS_CLASS dispatch.cc -o dispatch.o gcc -shared -o dispatch.oct dispatch.o -L/usr/local/lib/octave-2.1.59 -loctinterp -loctave -lcruft -L/usr/local/lib -lalapack -lcblas -lf77blas -latlas -lreadline -lncurses -lm -L/usr/local/lib -L/usr/lib -lg2c -lm |
From: <Jus...@UL...> - 2004-10-18 13:55:10
|
Hi, I've had some problems with octave-forge's imrotate.m (lack of precision, global gray-level alteration, inability to recover the rotation mapping), so I wrote my own from scratch.=20 Highlights: - 100% precise (unless you find bugs...), as it works by applying a rotation homography to each pixel coordinate. The homography is returned to the caller if desired. - "nearest"-neighbor mapping or "bilinear" interpolation - "loose" or "crop" bounding box - faster than the existing imrotate (on the few informal tests I ran) - does not rely on external functions not in core octave - code is relatively compact and intuitive (to me at least...) Caveats: - Only a single-band image matrix is accepted as input for now. - Its memory usage can still be improved. It makes heavy use of exhaustive index lists (to take advantage of vector notation); the current implementation keeps more of them around simultaneously than necessary. The function is currently called imgrotate to allow it to coexist with the existing imrotate. However, unless bugs show up, I don't see why it should not eventually take its place. You feedback is more than welcome. Enjoy, Justus function [imgPost, H] =3D imgrotate(imgPre, theta, method, bbox) ## imgrotate: precise image rotation by homography mapping ## ## Usage: ## ## [imgPost, H] =3D imgrotate(imgPre, theta, method, bbox) ## ## Input parameters: ## ## imgPre an input image matrix ## ## theta the rotation angle in degrees counterclockwise ## ## method "nearest" neighbor (default; faster, but produces ## aliasing effects) or "bilinear" interpolation ## (preferred; does anti-aliasing) ## ## bbox "loose" (default) or "crop" ## ## Output parameters: ## ## imgPost the rotated image matrix ## ## H the homography mapping original to rotated pixel ## coordinates. To map a coordinate vector c =3D [x;y] to its ## rotated location, compute round((H * [c; 1])(1:2)). =20=20 ## Author: Justus H. Piater <Jus...@UL...> ## Created: 2004-10-18 ## Version: 0.1 theta =3D theta * pi/180; sizePre =3D size(imgPre); ## We think in x,y coordinates here (rather than row,column). R =3D [cos(theta) sin(theta); -sin(theta) cos(theta)]; if (nargin =3D=3D 4 && strcmp(bbox, "crop")) sizePost =3D sizePre; else ## Compute new size by projecting image corners through the rotation: corners =3D [0, 0; (R * [sizePre(2); 1])'; (R * [sizePre(2); sizePre(1)])'; (R * [1; sizePre(1)])' ]; sizePost(2) =3D ceil(max(corners(:,1))) - floor(min(corners(:,1))); sizePost(1) =3D ceil(max(corners(:,2))) - floor(min(corners(:,2))); endif ## Compute the translation part of the homography: oPre =3D ([sizePre(2) ; sizePre(1) ] + 1) / 2; oPost =3D ([sizePost(2); sizePost(1)] + 1) / 2; T =3D oPost - R * oPre; ## And here is the homography mapping old to new coordinates: H =3D [[R; 0 0] [T; 1]]; Hinv =3D inv(H); ## "Pre" variables hold pre -rotation values; ## "Post" variables hold post-rotation values. ## Target coordinates: [xPost, yPost] =3D meshgrid(1:(sizePost(2)), 1:(sizePost(1))); ## Compute corresponding source coordinates: xPre =3D Hinv(1,1) * xPost + Hinv(1,2) * yPost + Hinv(1,3); yPre =3D Hinv(2,1) * xPost + Hinv(2,2) * yPost + Hinv(2,3); ## zPre is guaranteed to be 1, since the last row of H (and thus of ## Hinv) is [0 0 1]. ## Now map the image, either by nearest neighbor or by bilinear ## interpolation: if (nargin < 3 || !size(method) || strcmp(method, "nearest")) ## nearest-neighbor: simply round Pre coordinates xPre =3D round(xPre); yPre =3D round(yPre); valid =3D find(1 <=3D xPre & xPre <=3D sizePre(2) & 1 <=3D yPre & yPre <=3D sizePre(1) ); iPre =3D sub2ind(sizePre , yPre (valid), xPre (valid)); iPost =3D sub2ind(sizePost, yPost(valid), xPost(valid)); imgPost =3D zeros(sizePost); imgPost(iPost) =3D imgPre(iPre); else ## bilinear interpolation between the four floor and ceiling coordinates xPreFloor =3D floor(xPre); xPreCeil =3D ceil (xPre); yPreFloor =3D floor(yPre); yPreCeil =3D ceil (yPre); valid =3D find(1 <=3D xPreFloor & xPreCeil <=3D sizePre(2) & 1 <=3D yPreFloor & yPreCeil <=3D sizePre(1) ); xPreFloor =3D xPreFloor(valid); xPreCeil =3D xPreCeil (valid); yPreFloor =3D yPreFloor(valid); yPreCeil =3D yPreCeil (valid); ## In the following, FC =3D floor(x), ceil(y), etc. iPreFF =3D sub2ind(sizePre, yPreFloor, xPreFloor); iPreCF =3D sub2ind(sizePre, yPreFloor, xPreCeil ); iPreCC =3D sub2ind(sizePre, yPreCeil , xPreCeil ); iPreFC =3D sub2ind(sizePre, yPreCeil , xPreFloor); ## We'll have to weight by the fractional part of the coordinates: xPreFrac =3D xPre(valid) - xPreFloor; yPreFrac =3D yPre(valid) - yPreFloor; iPost =3D sub2ind(sizePost, yPost(valid), xPost(valid)); imgPost =3D zeros(sizePost); imgPost(iPost) =3D ... round(imgPre(iPreFF) .* (1 - xPreFrac) .* (1 - yPreFrac) + ... imgPre(iPreCF) .* xPreFrac .* (1 - yPreFrac) + ... imgPre(iPreCC) .* xPreFrac .* yPreFrac + ... imgPre(iPreFC) .* (1 - xPreFrac) .* yPreFrac ); endif endfunction --=20 Justus H. Piater, Ph.D. http://www.montefiore.ulg.ac.be/~piater/ Institut Montefiore, B28 Phone: +32-4-366-2279 Universit=E9 de Li=E8ge, Belgium Fax: +32-4-366-2620 |
From: <dg...@um...> - 2004-10-15 23:58:14
|
Oops. Good catch. -- Daniel From: David Bateman <Dav...@mo...> >=20 > Ok, done, but your patch is wrong.. It should read >=20 > if( nargin < 3 || nargin > 4 ) > usage( "newyp =3D irsa_resample (xp, yp, newxp, [lm] )" ); > endif >=20 > D. >=20 > According to dg...@um... <dg...@um...> (on 10/08/04): > > Will someone add this to the cvs please? The lm parameter won't work w= ithout it. > >=20 > > --- /usr/share/octave/2.1.57/site/m/octave-forge/irsa/irsa_resample.m = 2004-10-07 11:23:03.000000000 -0700 > > +++ /usr/share/octave/2.1.57/site/m/octave-forge/irsa/irsa_resample.m.o= rig 2004-07-07 18:42:32.000000000 -0700 > > @@ -40,7 +40,7 @@ > >=20 > > function newyp =3D irsa_resample (xp, yp, newxp, lm ) > >=20 > > - if( nargin < 3 ) > > + if( nargin !=3D 3 ) > > usage( "newyp =3D irsa_resample (xp, yp, newxp, [lm] )" ); > > endif > >=20 > >=20 > > -- > > Daniel --=20 ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm |
From: Paul K. <pki...@us...> - 2004-10-15 12:34:52
|
These symbols are all from readline. In particular, it must not be including readline.h. Post to help-octave. Include the relevant lines from config.log which are detecting the readline.h. - Paul On Oct 13, 2004, at 3:22 PM, Phillip Mastroianni wrote: > When building octave I failed to build octave. Could I get some > direction to solve this problem ? > > gcc -c -fPIC -I. -I.. -I../liboctave -I../src -I../libcruft/misc > -I../glob -I../glob -DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -g -O2 > oct-rl-edit.c -o pic/oct-rl-edit.o > oct-rl-edit.c: In function `octave_rl_screen_height': > oct-rl-edit.c:53: warning: implicit declaration of function > `rl_get_screen_size' > oct-rl-edit.c: In function `octave_rl_enable_paren_matching': > oct-rl-edit.c:68: warning: implicit declaration of function > `rl_variable_bind' > oct-rl-edit.c: In function `octave_rl_clear_screen': > oct-rl-edit.c:92: error: `rl_voidfunc_t' undeclared (first use in this > function) > oct-rl-edit.c:92: error: (Each undeclared identifier is reported only > once > oct-rl-edit.c:92: error: for each function it appears in.) > oct-rl-edit.c:92: error: `saved_redisplay_function' undeclared (first > use in this function) > oct-rl-edit.c:92: error: `rl_redisplay_function' undeclared (first use > in this function) > oct-rl-edit.c: In function `octave_rl_resize_terminal': > oct-rl-edit.c:103: warning: implicit declaration of function > `rl_resize_terminal' > oct-rl-edit.c: In function `octave_rl_restore_terminal_state': > oct-rl-edit.c:109: error: `rl_deprep_term_function' undeclared (first > use in this function) > oct-rl-edit.c:110: error: `rl_deprep_term_function' used prior to > declaration > oct-rl-edit.c:110: warning: implicit declaration of function > `rl_deprep_term_function' > oct-rl-edit.c: In function `octave_rl_insert_text': > oct-rl-edit.c:116: warning: implicit declaration of function > `rl_insert_text' > oct-rl-edit.c: In function `octave_rl_clear_undo_list': > oct-rl-edit.c:130: warning: implicit declaration of function > `rl_free_undo_list' > oct-rl-edit.c: In function `octave_rl_set_name': > oct-rl-edit.c:139: warning: implicit declaration of function `strlen' > oct-rl-edit.c:139: warning: implicit declaration of function `strcpy' > oct-rl-edit.c: In function `octave_rl_read_init_file': > oct-rl-edit.c:184: warning: implicit declaration of function > `rl_read_init_file' > oct-rl-edit.c: In function `octave_rl_filename_completion_desired': > oct-rl-edit.c:192: error: `rl_filename_completion_desired' undeclared > (first use in this function) > oct-rl-edit.c: In function `octave_rl_filename_completion_function': > oct-rl-edit.c:200: warning: implicit declaration of function > `rl_filename_completion_function' > oct-rl-edit.c:200: warning: return makes pointer from integer without > a cast > oct-rl-edit.c: In function `octave_rl_set_basic_quote_characters': > oct-rl-edit.c:224: error: `rl_basic_quote_characters' undeclared > (first use in this function) > oct-rl-edit.c: In function `octave_rl_set_completion_append_character': > oct-rl-edit.c:230: error: `rl_completion_append_character' undeclared > (first use in this function) > oct-rl-edit.c: In function `octave_rl_completion_matches': > oct-rl-edit.c:266: warning: implicit declaration of function > `rl_completion_matches' > oct-rl-edit.c:266: warning: return makes pointer from integer without > a cast > oct-rl-edit.c: In function `octave_rl_prompt_start_ignore': > oct-rl-edit.c:272: error: `RL_PROMPT_START_IGNORE' undeclared (first > use in this function) > oct-rl-edit.c: In function `octave_rl_prompt_end_ignore': > oct-rl-edit.c:278: error: `RL_PROMPT_END_IGNORE' undeclared (first use > in this function) > oct-rl-edit.c: In function `octave_rl_initialize': > oct-rl-edit.c:296: warning: implicit declaration of function > `rl_initialize' > oct-rl-edit.c: In function `octave_rl_history_search_forward': > oct-rl-edit.c:302: warning: implicit declaration of function > `rl_history_search_forward' > oct-rl-edit.c: In function `octave_rl_history_search_backward': > oct-rl-edit.c:308: warning: implicit declaration of function > `rl_history_search_backward' > make[2]: *** [pic/oct-rl-edit.o] Error 1 > make[2]: Leaving directory `/usr/local/src/octave-2.1.57/liboctave' > make[1]: *** [liboctave] Error 2 > make[1]: Leaving directory `/usr/local/src/octave-2.1.57' > make: *** [all] Error 2 > > Compiler Version > Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/specs > Configured with: ../gcc-3.3.4/configure --prefix=/usr --enable-shared > --enable-threads=posix --enable-__cxa_atexit --disable-checking > --with-gnu-ld --verbose --target=i486-slackware-linux > --host=i486-slackware-linux > Thread model: posix > gcc version 3.3.4 > > > <pmastroianni.vcf> |
From: David B. <Dav...@mo...> - 2004-10-15 10:02:41
|
This is Paul's code.. I hesitate to completely replace it with his say so... D. According to dg...@um... <dg...@um...> (on 10/13/04): > (It seems the octave-dev list is very quiet, so I'm also sending this to the > octave-help list.) > > The czt function was not working, so I implemented it correctly. At a > minimum, a correct czt should pass this test: > > x=rand(1000,1); > y1=fft(x); > y2=czt(x); > max(abs(y1-y2)) # should be a very small number > > Also fixed the documentation. > > Will someone put this in the cvs? Thanks. > > - DG > > ## Copyright (C) 2004 Daniel Gunyan > ## > ## 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, write to the Free Software > ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA > > ## usage y=czt(x, m, w, a) > ## > ## Chirp z-transform. Compute the frequency response starting at a and > ## stepping by w for m steps. a is a point in the complex plane, and > ## w is the ratio between points in each step (i.e., radius increases > ## exponentially, and angle increases linearly). > ## > ## To evaluate the frequency response for the range f1 to f2 in a signal > ## with sampling frequency Fs, use the following: > ## m = 32; ## number of points desired > ## w = exp(-j*2*pi*(f2-f1)/((m-1)*Fs)); ## freq. step of f2-f1/m > ## a = exp(j*2*pi*f1/Fs); ## starting at frequency f1 > ## y = czt(x, m, w, a); > ## > ## If you don't specify them, then the parameters default to a fourier > ## transform: > ## m=length(x), w=exp(-j*2*pi/m), a=1 > ## > ## If x is a matrix, the transform will be performed column-by-column. > > ## Algorithm (based on Oppenheim and Schafer, "Discrete-Time Signal > ## Processing", pp. 623-628): > ## make chirp of length -N+1 to max(N-1,M-1) > ## chirp => w^([-N+1:max(N-1,M-1)]^2/2) > ## multiply x by chirped a and by N-elements of chirp, and call it g > ## convolve g with inverse chirp, and call it gg > ## pad ffts so that multiplication works > ## ifft(fft(g)*fft(1/chirp)) > ## multiply gg by M-elements of chirp and call it done > > function y = czt(x, m, w, a) > if nargin < 1 || nargin > 4, usage("y=czt(x, m, w, a)"); endif > > [row, col] = size(x); > if row == 1, x = x(:); col = 1; endif > > if nargin < 2 || isempty(m), m = length(x(:,1)); endif > if length(m) > 1, error("czt: m must be a single element\n"); endif > if nargin < 3 || isempty(w), w = exp(-2*j*pi/m); endif > if nargin < 4 || isempty(a), a = 1; endif > if length(w) > 1, error("czt: w must be a single element\n"); endif > if length(a) > 1, error("czt: a must be a single element\n"); endif > > ## indexing to make the statements a little more compact > n = length(x(:,1)); > N = [0:n-1]'+n; > NM = [-(n-1):(m-1)]'+n; > M = [0:m-1]'+n; > > nfft = 2^nextpow2(n+m-1); # fft pad > W2 = w.^(([-(n-1):max(m-1,n-1)]'.^2)/2); # chirp > > for idx = 1:col > fg = fft(x(:,idx).*(a.^-(N-n)).*W2(N), nfft); > fw = fft(1./W2(NM), nfft); > gg = ifft(fg.*fw, nfft); > > y(:,idx) = gg(M).*W2(M); > endfor > > if row == 1, y = y.'; endif > endfunction > > -- > ___________________________________________________________ > Sign-up for Ads Free at Mail.com > http://promo.mail.com/adsfreejump.htm > > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Octave-dev mailing list > Oct...@li... > https://lists.sourceforge.net/lists/listinfo/octave-dev -- David Bateman Dav...@mo... Motorola CRM +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary |
From: David B. <Dav...@mo...> - 2004-10-15 09:58:52
|
Ok, done, but your patch is wrong.. It should read if( nargin < 3 || nargin > 4 ) usage( "newyp = irsa_resample (xp, yp, newxp, [lm] )" ); endif D. According to dg...@um... <dg...@um...> (on 10/08/04): > Will someone add this to the cvs please? The lm parameter won't work without it. > > --- /usr/share/octave/2.1.57/site/m/octave-forge/irsa/irsa_resample.m 2004-10-07 11:23:03.000000000 -0700 > +++ /usr/share/octave/2.1.57/site/m/octave-forge/irsa/irsa_resample.m.orig 2004-07-07 18:42:32.000000000 -0700 > @@ -40,7 +40,7 @@ > > function newyp = irsa_resample (xp, yp, newxp, lm ) > > - if( nargin < 3 ) > + if( nargin != 3 ) > usage( "newyp = irsa_resample (xp, yp, newxp, [lm] )" ); > endif > > > -- > Daniel > > > -- > ___________________________________________________________ > Sign-up for Ads Free at Mail.com > http://promo.mail.com/adsfreejump.htm > > > > ------------------------------------------------------- > This SF.net email is sponsored by: IT Product Guide on ITManagersJournal > Use IT products in your business? Tell us what you think of them. Give us > Your Opinions, Get Free ThinkGeek Gift Certificates! Click to find out more > http://productguide.itmanagersjournal.com/guidepromo.tmpl > _______________________________________________ > Octave-dev mailing list > Oct...@li... > https://lists.sourceforge.net/lists/listinfo/octave-dev -- David Bateman Dav...@mo... Motorola CRM +33 1 69 35 48 04 (Ph) Parc Les Algorithmes, Commune de St Aubin +33 1 69 35 77 01 (Fax) 91193 Gif-Sur-Yvette FRANCE The information contained in this communication has been classified as: [x] General Business Information [ ] Motorola Internal Use Only [ ] Motorola Confidential Proprietary |
From: Phillip M. <pma...@te...> - 2004-10-13 19:29:51
|
When building octave I failed to build octave. Could I get some direction to solve this problem ? gcc -c -fPIC -I. -I.. -I../liboctave -I../src -I../libcruft/misc -I../glob -I../glob -DHAVE_CONFIG_H -mieee-fp -Wall -W -Wshadow -g -O2 oct-rl-edit.c -o pic/oct-rl-edit.o oct-rl-edit.c: In function `octave_rl_screen_height': oct-rl-edit.c:53: warning: implicit declaration of function `rl_get_screen_size' oct-rl-edit.c: In function `octave_rl_enable_paren_matching': oct-rl-edit.c:68: warning: implicit declaration of function `rl_variable_bind' oct-rl-edit.c: In function `octave_rl_clear_screen': oct-rl-edit.c:92: error: `rl_voidfunc_t' undeclared (first use in this function) oct-rl-edit.c:92: error: (Each undeclared identifier is reported only once oct-rl-edit.c:92: error: for each function it appears in.) oct-rl-edit.c:92: error: `saved_redisplay_function' undeclared (first use in this function) oct-rl-edit.c:92: error: `rl_redisplay_function' undeclared (first use in this function) oct-rl-edit.c: In function `octave_rl_resize_terminal': oct-rl-edit.c:103: warning: implicit declaration of function `rl_resize_terminal' oct-rl-edit.c: In function `octave_rl_restore_terminal_state': oct-rl-edit.c:109: error: `rl_deprep_term_function' undeclared (first use in this function) oct-rl-edit.c:110: error: `rl_deprep_term_function' used prior to declaration oct-rl-edit.c:110: warning: implicit declaration of function `rl_deprep_term_function' oct-rl-edit.c: In function `octave_rl_insert_text': oct-rl-edit.c:116: warning: implicit declaration of function `rl_insert_text' oct-rl-edit.c: In function `octave_rl_clear_undo_list': oct-rl-edit.c:130: warning: implicit declaration of function `rl_free_undo_list' oct-rl-edit.c: In function `octave_rl_set_name': oct-rl-edit.c:139: warning: implicit declaration of function `strlen' oct-rl-edit.c:139: warning: implicit declaration of function `strcpy' oct-rl-edit.c: In function `octave_rl_read_init_file': oct-rl-edit.c:184: warning: implicit declaration of function `rl_read_init_file' oct-rl-edit.c: In function `octave_rl_filename_completion_desired': oct-rl-edit.c:192: error: `rl_filename_completion_desired' undeclared (first use in this function) oct-rl-edit.c: In function `octave_rl_filename_completion_function': oct-rl-edit.c:200: warning: implicit declaration of function `rl_filename_completion_function' oct-rl-edit.c:200: warning: return makes pointer from integer without a cast oct-rl-edit.c: In function `octave_rl_set_basic_quote_characters': oct-rl-edit.c:224: error: `rl_basic_quote_characters' undeclared (first use in this function) oct-rl-edit.c: In function `octave_rl_set_completion_append_character': oct-rl-edit.c:230: error: `rl_completion_append_character' undeclared (first use in this function) oct-rl-edit.c: In function `octave_rl_completion_matches': oct-rl-edit.c:266: warning: implicit declaration of function `rl_completion_matches' oct-rl-edit.c:266: warning: return makes pointer from integer without a cast oct-rl-edit.c: In function `octave_rl_prompt_start_ignore': oct-rl-edit.c:272: error: `RL_PROMPT_START_IGNORE' undeclared (first use in this function) oct-rl-edit.c: In function `octave_rl_prompt_end_ignore': oct-rl-edit.c:278: error: `RL_PROMPT_END_IGNORE' undeclared (first use in this function) oct-rl-edit.c: In function `octave_rl_initialize': oct-rl-edit.c:296: warning: implicit declaration of function `rl_initialize' oct-rl-edit.c: In function `octave_rl_history_search_forward': oct-rl-edit.c:302: warning: implicit declaration of function `rl_history_search_forward' oct-rl-edit.c: In function `octave_rl_history_search_backward': oct-rl-edit.c:308: warning: implicit declaration of function `rl_history_search_backward' make[2]: *** [pic/oct-rl-edit.o] Error 1 make[2]: Leaving directory `/usr/local/src/octave-2.1.57/liboctave' make[1]: *** [liboctave] Error 2 make[1]: Leaving directory `/usr/local/src/octave-2.1.57' make: *** [all] Error 2 Compiler Version Reading specs from /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/specs Configured with: ../gcc-3.3.4/configure --prefix=/usr --enable-shared --enable-threads=posix --enable-__cxa_atexit --disable-checking --with-gnu-ld --verbose --target=i486-slackware-linux --host=i486-slackware-linux Thread model: posix gcc version 3.3.4 |
From: <dg...@um...> - 2004-10-13 18:48:15
|
[Apologies for the double post, but I forgot the subject line the first tim= e!] The czt function was not working, so I implemented it correctly. At a minimum, a correct czt should pass this test: x=3Drand(1000,1); y1=3Dfft(x); y2=3Dczt(x); max(abs(y1-y2)) # should be a very small number Also fixed the documentation. Will someone put this in the cvs? Thanks. - DG ## Copyright (C) 2004 Daniel Gunyan ## ## 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, write to the Free Software ## Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ## usage y=3Dczt(x, m, w, a) ## ## Chirp z-transform. Compute the frequency response starting at a and ## stepping by w for m steps. a is a point in the complex plane, and ## w is the ratio between points in each step (i.e., radius increases ## exponentially, and angle increases linearly). ## ## To evaluate the frequency response for the range f1 to f2 in a signal ## with sampling frequency Fs, use the following: ## m =3D 32; ## number of points desired ## w =3D exp(-j*2*pi*(f2-f1)/((m-1)*Fs)); ## freq. step of f2-f1/m ## a =3D exp(j*2*pi*f1/Fs); ## starting at frequency f1 ## y =3D czt(x, m, w, a); ## ## If you don't specify them, then the parameters default to a fourier=20 ## transform: ## m=3Dlength(x), w=3Dexp(-j*2*pi/m), a=3D1 ## ## If x is a matrix, the transform will be performed column-by-column. ## Algorithm (based on Oppenheim and Schafer, "Discrete-Time Signal ## Processing", pp. 623-628): ## make chirp of length -N+1 to max(N-1,M-1) ## chirp =3D> w^([-N+1:max(N-1,M-1)]^2/2) ## multiply x by chirped a and by N-elements of chirp, and call it g ## convolve g with inverse chirp, and call it gg ## pad ffts so that multiplication works ## ifft(fft(g)*fft(1/chirp)) ## multiply gg by M-elements of chirp and call it done function y =3D czt(x, m, w, a) if nargin < 1 || nargin > 4, usage("y=3Dczt(x, m, w, a)"); endif [row, col] =3D size(x); if row =3D=3D 1, x =3D x(:); col =3D 1; endif if nargin < 2 || isempty(m), m =3D length(x(:,1)); endif if length(m) > 1, error("czt: m must be a single element\n"); endif if nargin < 3 || isempty(w), w =3D exp(-2*j*pi/m); endif if nargin < 4 || isempty(a), a =3D 1; endif if length(w) > 1, error("czt: w must be a single element\n"); endif if length(a) > 1, error("czt: a must be a single element\n"); endif ## indexing to make the statements a little more compact n =3D length(x(:,1)); N =3D [0:n-1]'+n; NM =3D [-(n-1):(m-1)]'+n; M =3D [0:m-1]'+n; nfft =3D 2^nextpow2(n+m-1); # fft pad W2 =3D w.^(([-(n-1):max(m-1,n-1)]'.^2)/2); # chirp for idx =3D 1:col fg =3D fft(x(:,idx).*(a.^-(N-n)).*W2(N), nfft); fw =3D fft(1./W2(NM), nfft); gg =3D ifft(fg.*fw, nfft); y(:,idx) =3D gg(M).*W2(M); endfor if row =3D=3D 1, y =3D y.'; endif endfunction --=20 ___________________________________________________________ Sign-up for Ads Free at Mail.com http://promo.mail.com/adsfreejump.htm |