MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   MATLAB论坛 (https://www.labfans.com/bbs/forumdisplay.php?f=6)
-   -   [求助]积分微分求助 (https://www.labfans.com/bbs/showthread.php?t=5801)

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是你的积分上下限


所有时间均为北京时间。现在的时间是 13:23

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.