matlab对分段函数积分

function F=FX(L,h,n)
a=1/6
for i=1:1:n+3
for k=1:1:n+3
f=@(x)a*((x+2)^3).*(x>=-2 & x<-1)+a*((x+2)^3-4*(x+1)^3).*(x>=-1 & x<0)+a*((2-x)^3-4*(1-x)^3).*(x>=0 & x<1)+a*((2-x)^3).*(x>=1 & x<=2)
g=@(x)a*((x+2)^3).*(x>=-2 & x<-1)+a*((x+2)^3-4*(x+1)^3).*(x>=-1 & x<0)+a*((2-x)^3-4*(1-x)^3).*(x>=0 & x<1)+a*((2-x)^3).*(x>=1 & x<=2)
f(i,k)=@(x)f(x/h-(i-2)).*g(x/h-(k-2))
FX(i,k)=quad(f(i,k),0,L)
end
end

FX运行不出来,请帮我看看是哪里出错了 不胜感激

function F=FX(L,h,n)
F=zeros(n+3);
f=@(x)1/6*((x+2).^3).*(x>=-2 & x<-1)+1/6*((x+2).^3-4*(x+1).^3).*(x>=-1 & x<0)+...
1/6*((2-x).^3-4*(1-x).^3).*(x>=0 & x<1)+1/6*((2-x).^3).*(x>=1 & x<=2);
g=@(x)1/6*((x+2).^3).*(x>=-2 & x<-1)+1/6*((x+2).^3-4*(x+1).^3).*(x>=-1 & x<0)+...
1/6*((2-x).^3-4*(1-x).^3).*(x>=0 & x<1)+1/6*((2-x).^3).*(x>=1 & x<=2);
for i=1:1:n+3
for k=1:1:n+3
fg=@(x)f(x/h-(i-2)).*g(x/h-(k-2));
F(i,k)=quad(fg,0,L);
end
end
温馨提示:答案为网友推荐,仅供参考
相似回答