Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2008-07-04
年龄: 42
帖子: 1
声望力: 0 ![]() |
![]()
新手,在演示书上例题时,出现的问题。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]); |
![]() |
![]() |
![]() |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
[求助]遗传算法工具箱求关键路径的问题 | xueao413 | MATLAB论坛 | 1 | 2008-07-11 15:30 |
请问这个方程可以用MATLAB解没有? | thb296 | MATLAB论坛 | 6 | 2008-04-28 19:02 |
[求助]如何把单元数组转化为一般数组 | 心际依然 | MATLAB论坛 | 4 | 2008-04-22 12:08 |
【求助】如何做FFT变换? | ceeshy | MATLAB论坛 | 1 | 2007-12-21 11:27 |
【求助】产生随机数?? | wpy6609 | MATLAB论坛 | 4 | 2007-06-25 22:45 |