📄 int2s.m
字号:
function INTfxy=int2s(f,a,b,c,d,M,N)
% 被积函数f(x,y)的二重积分数值
% 积分区域为R={(x,y)|a<=x<=b,c(x)<=y<=d(x)}
% 使用的积分方法是Simpson法则
if ceil(M)~=floor(M)
hx=M;
M=ceil((b-a)/hx);
end
if mod(M,2)~=0
M=M+1;
end
hx=(b-a)/M;
m=1:M+1;
x=a+(m-1)*hx;
if isnumeric(c)
cx(m)=c;
else
cx(m)=feval(c,x(m));
end
if isnumeric(d)
dx(m)=d;
else
dx(m)=feval(d,x(m));
end
if ceil(N)~=floor(N)
hy=N;
Nx(m)=ceil((dx(m)-cx(m))/hy);
ind=find(mod(Nx(m),2)~=0);
Nx(ind)=Nx(ind)+1;
else
if mod(N,2)~=0
N=N+1;
end
Nx(m)=N;
end
for m=1:M+1
sx(m)=smpsns_fxy(f,x(m),cx(m),dx(m),Nx(m));
end
kodd=2:2:M;
keven=3:2:M-1;
INTfxy=hx/3*(sx(1)+sx(M+1)+4*sum(sx(kodd))+2*sum(sx(keven)));
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -