登录论坛

查看完整版本 : [求助]积分微分求助


nuaamzc
2008-12-12, 21:51
function y=v(x)
if x>=1
y=1;
elseif x<=1&x>=-1
y=x;
else
y=-1;
end

如何对这个函数求定积分,直接的积分方法都失效,我现在用的这个

clear;
i=1;
a=QUAD8(@v,-5,-1);
b=QUAD8(@v,-1,1);
for x=-5:0.1:5
if x<=-1
[y(i),n]=QUAD8(@v,-5,x);
elseif x<1&x>-1
[y(i),n]=QUAD8(@v,-1,x);
y(i)=y(i)+a;
else
[y(i),n]=QUAD8(@v,1,x);
y(i)=y(i)+a+b;
end
t(i)=x;
i=i+1;
end

但是感觉很麻烦

微分,更是直接没有想到方法,我的研究中,急需用到这些
高人指点哈

lukehiker
2008-12-13, 09:41
这应该是个很简单的函数,貌似不用这么麻烦吧,连adaptive Simpson's rule都用上了。你可以试试用求面积的方法。。。

debateshang
2008-12-14, 13:21
function myinthelp
f=quadl(@v,x0,x1)
%% function
function y=v(x)
y=1*(x>=1)+x.*(x<1&x>=-1)-1*(x<-1);


x0,x1是你的积分上下限