![]() |
[求助]M函数调用问题
新手,在演示书上例题时,出现的问题。lambda和fseries是M文件,工作台调用两个函数过程中出现错误,请那位牛人给指正一下,不胜感激。
lambda.m function y=lambda(x) %y=lambda(x)generates a triangular signal. y=(x+1).*(x>-1&x<0)+(x==0)+(-x+1).*(x>0&x<1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5 fseries.m function xx=fseries(myfunfcn,a,b,n,tol,p1,p2,p3) %Fseries 返回傅里叶序列系数 % function=在m-file中给出的函数。 % 它依赖于3个参数 % p1、p2和p3。函数是定在从a'到b'的一个周期内。 % xx=长度为n+1的傅里叶序列系数的向量,xx0,xx1,……xxn。 %p1,p2,p3=funfcn的参数。 %tol=差错级别。 j=sqrt(-1); args=[]; for nn=1:nargin-5 args=[args,',p',int2str(nn)]; end args=[args,')']; t=b-a; xx(1)=eval(['1/(',num2str(t),').*quad(myfunfcn,a,b,tol,[]',args]); for i=1:n newfun=['exp(-j*2*pi*x*(',int2str(i),')/(',num2str(t),')).*',myfunfcn]; xx(i+1)=eval(['1/(',num2str(t),').*quad(newfun,a,b,tol,[]',args]); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% echo on >> myfunction='lambda' myfunction = lambda >> a=-1.3; >> b=3.3; >> n=24; >> tol=0.1; >> xx=fseries(myfunction,a,b,n,tol) ??? Error using ==> inline.subsref Not enough inputs to inline function. Error in ==> quad at 63 y = f(x, varargin{:}); Error in ==> fseries at 19 xx(i+1)=eval(['1/(',num2str(t),').*quad(newfun,a,b,tol,[]',args]); |
所有时间均为北京时间。现在的时间是 03:17。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.