📄 m5_4.m
字号:
%%%%%%%% Double Integration by the Simpson's Rule %%%%%%%%
clear;
nx=input('Number of intervals in x_direction:');
ny=input('Number of intervals in y_direction:');
a=input('Lower limit of x,a?');
b=input('Lower limit of x,b?');
hx=(b-a)/nx;
x=[a:hx:b];
cy=c(x);
dy=d(x);
hy=(d(x)-c(x))/ny;
Result=0;
temp=0;
yy=zeros(1,ny);
%%%%%%%% G(x_i) %%%%%%%%%%%%%%%%%%
for i=1:nx+1
y=[cy(i):hy(i):dy(i)];
for j=1:ny
yy(j)=y(j)+hy(i)/2; %%% 中点 %%%%%%
end
zz=f(x(i),yy);
z=f(x(i),y);
temp=hy(i)/6*(4*sum(zz)+2*sum(z)-f(x(i),cy(i))-f(x(i),dy(i)));
if i>1&i<nx+1 temp=2*temp;end
Result=Result+temp;
end
%%%%%%%% G(x_i-1/2) %%%%%%%%%%%%%%%%%%
yy=zeros(1,ny);
for i=1:nx
xx(i)=x(i)+hx/2;
end
for i=1:nx
y=[cy(i):hy(i):dy(i)];
for j=1:ny
yy(j)=y(j)+hy(i)/2;
end
zz=f(xx(i),yy);
z=f(xx(i),y);
temp=hy(i)/6*(4*sum(zz)+2*sum(z)-f(xx(i),cy(i))-f(xx(i),dy(i)));
temp=4*temp;
Result=Result+temp;
end
Result=hx/6*Result
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -