samer@0: function y=expdata(A,B,N,M) samer@0: % expdata - exponential data sequence samer@0: % samer@0: % expdata :: samer@0: % real ~'initial value', samer@0: % real ~'final value', samer@0: % natural ~'number of steps (sequence length is steps+1), samer@0: % M:natural ~'buffer size' samer@0: % -> seq [[1,M]]. samer@0: samer@0: if nargin<4, M=1; end samer@0: samer@0: lA=log(A); samer@0: k=(log(B)-lA)/N; samer@0: y=unfold(@ls1,0:M-1); samer@0: %y=windowdata(linspace(A,B,N),M,M); samer@0: samer@0: function [X,I]=ls1(I), samer@0: surp=I(end)-N; samer@0: if surp>=0, samer@0: X=exp(lA+k*I(1:end-surp)); samer@0: if surp