Fseries.m
上传用户:loeagle
上传日期:2013-03-02
资源大小:1236k
文件大小:1k
源码类别:

通讯编程文档

开发平台:

Matlab

  1. function xx=fseries(funfcn,a,b,n,tol,p1,p2,p3)
  2. %FSERIES    Returns the Fourier series coefficients.
  3. %       XX=FSERIES(FUNFCN,A,B,N,TOL,P1,P2,P3)
  4. %       funfcn=the given function, in an m-file.
  5. %       It can depend on up to three parameters
  6. %       p1,p2, and p3. The function is given
  7. %       over one period extending from 'a' to 'b'
  8. %       xx=vector of length n+1 of Fourier Series
  9. %       Coefficients, xx0,xx1,...,xxn.
  10. %       p1,p2,p3=parameters of funfcn. 
  11. %       tol=the error level.
  12. j=sqrt(-1);
  13. args0=[];
  14. for nn=1:nargin-5
  15.   args0=[args0,',p',int2str(nn)];
  16. end
  17. args=[args0,')'];
  18. t=b-a;
  19. xx(1)=eval(['1/(',num2str(t),').*quad(funfcn,a,b,tol,[]',args]) ;
  20. for i=1:n
  21.   new_fun = 'exp_fnct' ;
  22.   args=[',', num2str(i), ',', num2str(t), args0, ')' ] ;
  23.   xx(i+1)=eval(['1/(',num2str(t),').*quad(new_fun,a,b,tol,[],funfcn',args]);
  24. end
  25.