Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
初级会员
注册日期: 2008-05-13
年龄: 40
帖子: 4
声望力: 0 ![]() |
![]()
请问:
我利用quad求积分时,被积函数是我自己写的分段函数,运行时总是出错 Error using ==> inline/feval Not enough inputs to inline function. 错在哪呢?:lovely: 下面是源程序: function out=Mu(X,m,Teta,i) [s,n]=size(X); t=m/(2*pi); for j=1:n x=X(j); if(i==1) if(x>=0&x<=Teta(i)) out(j)=t^2*(x-0)^3-t*(x-0)^2; elseif(x>=Teta(i)&x<=Teta(i+1)) out(j)=t^2*(x-Teta(i))^3-2*t*(x-Teta(i))^2+(x-Teta(i)); else out(j)=0; end elseif(i>=2&i<=m-1) if(x>=Teta(i-1)&x<=Teta(i)) out(j)=t^2*(x-Teta(i-1))^3-t*(x-Teta(i-1))^2; elseif(x>=Teta(i)&x<=Teta(i+1)) out(j)=t^2*(x-Teta(i))^3-2*t*(x-Teta(i))^2+(x-Teta(i)); else out(j)=0; end else if(x>=Teta(i-1)&x<=Teta(i)) out(j)=t^2*(x-Teta(i-1))^3-t*(x-Teta(i-1))^2; elseif(x>=0&x<=Teta(1)) out(j)=t^2*(x-0)^3-2*t*(x-0)^2+(x-0); else out(j)=0; end end end ========================== m=20; Teta=zeros(1,m); for i=1:m Teta(i)=i*2*pi/m; end x=0:0.01*pi:2*pi; y=Mu(x,m,Teta,20); yy=quad(inline('Mu(x,m,Teta,20)'),0,2*pi); |
![]() |
![]() |
![]() |
#2 |
初级会员
注册日期: 2008-05-13
年龄: 40
帖子: 4
声望力: 0 ![]() |
![]()
哪位大侠能帮:lovely: 看一下吗?
谢谢啦! |
![]() |
![]() |
![]() |
主题工具 | |
显示模式 | |
|
|
![]() |
||||
主题 | 主题作者 | 版面 | 回复 | 最后发表 |
multithreading修改线程数后,使用一个线程和使用两个线程计算结果不同 | ikccbc | MATLAB论坛 | 1 | 2008-07-20 03:24 |
【分享】传个东西:Matlab神经网络应用指南chm | tqr591513792 | MATLAB论坛 | 3 | 2008-03-07 16:33 |
【求助】新手求助 | ilvila | MATLAB论坛 | 0 | 2007-07-15 18:35 |
求助:解一个62阶矩阵 | cicyabc | MATLAB论坛 | 1 | 2007-06-19 23:43 |
【求助】新人求助!如果生成符合区间为(-1,1)的标准正态分布随机数! | chenhuips2 | MATLAB论坛 | 13 | 2007-05-21 18:37 |