Hi, Can you send us the file as it is now, and I'll take a look.
Cheers, A 20 sep 2012 kl. 08:20 skrev Lester Anderson <arctica1...@gmail.com>: > Hi Samuel, > Thanks for the pointers. It still fails with lots of errors even with > changing the sections you noted). I have copied the errors here, it is like a > few errors can have a compound effect on the rest: > > -->exec('C:\Users\Lester\Documents\3DInver\convert\tukeywin.sce', -1) > function w = tukeywin (L, r = 1/2) > !--error 37 > Incorrect function at line 31. > > at line 31 of exec file called by : > exec('C:\Users\Lester\Documents\3DInver\convert\tukeywin.sce', -1) > > -->function w = tukeywin (L, r = 1/2) > !--error 37 > Incorrect function. > > --> //nargin=>argn(2) > --> // if (nargin < 1 || nargin > 2) > --> if (argn(2) < 1 || argn(2) > 2) > !--error 2 > Invalid factor. > > --> print_usage; > !--error 4 > Undefined variable: print_usage > > --> elseif (nargin == 2) > !--error 34 > Incorrect control instruction syntax. > > --> // check that 0 < r < 1 > --> if r > 1 > !--error 4 > Undefined variable: r > > --> r = 1; > --> elseif r < 0 > !--error 34 > Incorrect control instruction syntax. > > --> r = 0; > --> end > !--error 34 > Incorrect control instruction syntax. > > --> end > !--error 34 > Incorrect control instruction syntax. > > --> // generate window > --> select r > --> case 0, > --> // full box > --> w = ones (L, 1); > !--error 4 > Undefined variable: L > > --> case 1, > !--error 34 > Incorrect control instruction syntax. > > --> // Hanning window > --> // = hanning (L); > --> window('hanning',L) > !--error 4 > Undefined variable: L > > --> else > !--error 34 > Incorrect control instruction syntax. > > --> // cosine-tapered window > --> t = linspace(0,1,L)(1:$:(1:$/2)'; > !--error 4 > Undefined variable: L > > --> w = (1 + cos(%pi*(2*t/r-1)))/2; > !--error 4 > Undefined variable: t > > --> w(floor(r*(L-1)/2)+2:end) = 1; > !--error 4 > Undefined variable: L > > --> w = [w; ones(modulo(L,2)); flipdim(w,1)]; > !--error 4 > Undefined variable: w > > --> end > !--error 34 > Incorrect control instruction syntax. > > -->endfunction > !--error 16 > Incorrect command! > > Thanks for any help > > Lester > > // Copyright (C) 2007 Laurent Mazet <ma...@crm.mot.com> > // > // This program is free software; you can redistribute it and/or modify it > under > // the terms of the GNU General Public License as published by the Free > Software > // Foundation; either version 3 of the License, or (at your option) any later > // version. > // > // This program is distributed in the hope that it will be useful, but > WITHOUT > // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or > // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for > more > // details. > // > // You should have received a copy of the GNU General Public License along > with > // this program; if not, see <http://www.gnu.org/licenses/>. > > // -*- texinfo -*- > // @deftypefn {Function File} {@var{w} =} tukeywin (@var{L}, @var{r}) > // Return the filter coefficients of a Tukey window (also known as the > // cosine-tapered window) of length @var{L}. @var{r} defines the ratio > // between the constant section and and the cosine section. It has to be > // between 0 and 1. The function returns a Hanning window for @var{r} > // egals 0 and a full box for @var{r} egals 1. By default @var{r} is set > // to 1/2. > // > // For a definition of the Tukey window, see e.g. Fredric J. Harris, > // "On the Use of Windows for Harmonic Analysis with the Discrete Fourier > // Transform, Proceedings of the IEEE", Vol. 66, No. 1, January 1978, > // Page 67, Equation 38. > // @end deftypefn > > function w=tukeywin(L, r= 1/2) > > //nargin=>argn(2) > // if (nargin < 1 || nargin > 2) > if (argn(2) < 1 || argn(2) > 2) > print_usage; > elseif (nargin == 2) > // check that 0 < r < 1 > if r > 1 > r = 1; > elseif r < 0 > r = 0; > end > end > > // generate window > select r > case 0, > // full box > w = ones (L, 1); > case 1, > // Hanning window > // w = hanning (L); > window('hanning',L) > else > // cosine-tapered window > t = linspace(0,1,L)(1:$:(1:$/2)'; > w = (1 + cos(%pi*(2*t/r-1)))/2; > w(floor(r*(L-1)/2)+2:end) = 1; > w = [w; ones(modulo(L,2)); flipdim(w,1)]; > end > > endfunction > > // demo > // L = 100; > // r = 1/3; > // w = tukeywin (L, r); > // title(sprintf("%d-point Tukey window, R = %d/%d", L, [p, q] = rat(r), q)); > // plot(w); > > > On 19 September 2012 23:31, Samuel Gougeon <sgoug...@free.fr> wrote: > Hello, > > Le 20/09/2012 00:05, Lester Anderson a écrit : >> >> function w=tukeywin(L, r= 1/2) >> >> if (nargin < 1 || nargin > 2) ------ Not sure how to replace this bit >> (variable not defined) >> > nargin => argn(2) > >> .../... >> >> // generate window >> >> switch r --------- think this should be select ? >> > Right >> .../... >> case 1, >> >> // Hanning window >> w = hanning (L); >> > window('hn',L) >> otherwise ------------- else >> > Yes > >> // cosine-tapered window >> t = linspace(0,1,L)(1:end/2)'; >> > replace end with $ : (1:$/2)'; > > >> w = (1 + cos(pi*(2*t/r-1)))/2; >> > pi => %pi > > >> w(floor(r*(L-1)/2)+2:end) = 1; >> w = [w; ones(mod(L,2)); flipud(w)]; >> > mod => modulo > flipud(w) => flipdim(w,1) > >> endswitch ------------------------------------ end ? >> > Yes > > > _______________________________________________ > users mailing list > users@lists.scilab.org > http://lists.scilab.org/mailman/listinfo/users > > > _______________________________________________ > users mailing list > users@lists.scilab.org > http://lists.scilab.org/mailman/listinfo/users -- Arvid Rosén Softube AB S:t Larsgatan 10c SE-582 24 Linköping Sweden Mobile: (+46) 73 25 123 47 Office: (+46) 13 21 16 23 Fax: (+46) 13 10 00 23 Mail: ar...@softube.com URL: www.softube.com
_______________________________________________ users mailing list users@lists.scilab.org http://lists.scilab.org/mailman/listinfo/users