大学数学实验3参考答案

发布时间:2020-01-23 22:23:38

实验3 数值积分与微分

§5 实验内容

预备:离散的辛普森公式

function y=quad2(x0,y0)  %  x0的长度应该是奇数  %

n=length(x0);

if mod(n,2)~=1

error(‘输入数组长度应为奇数’)

end

m=(n-1)/2;

h=(x0(n)-x0(1))/(n-1);

y1=y0(2:2:n);

y2=y0(1:2:n);

s1=sum(y1(1:m));

s2=sum(y2(2:m));

y=(y0(1)+y0(n)+s1*4+s2*2)*h/3

注意:如果考虑到只给出两个数组,没有被积函数表达式,且数组中自变量也不一定是等步长的,应该怎么办。

对于点

三个点来说

1、略

2、略

3、请用三种数值积分方法计算pi

提示:考虑到单位圆的面积是

,问题就转化为用三种途径来求单位圆或其部分的曲线的积分。

4、略

……

11、计算冰激凌的体积

1. %用随机投点法,可以先算第一卦限,锥位于顶点在原点,长宽为1,高为2的立方体内

n=10000;

a=rand(n,3);

x=a(:,1);y=a(:,2);z=2*a(:,3);

m=0;

for i=1:n  %可以考虑使用关系运算找到符合条件的点(对应1),用sum

if

z(i)<=1+sqrt(1-x(i)^2-y(i)^2)&z(i)>=sqrt(x(i)^2+y(i)^2)&x(i)^2+y(i)^2<=1

m=m+1;

end

end

v=m/n*(1*1*2)*4

2. %用均值估计法,可以看作球圆面在投影圆上的积分与圆锥面在投影圆上的积分的差

n=10000;

a=rand(n,2);

x=a(:,1);y=a(:,2);m=0;s1=0;s2=0

for i=1:n

if x(i)^2+y(i)^2<=1

m=m+1;

s1=s1+sqrt(x(i)^2+y(i)^2);

s2=s2+1+sqrt(1-x(i)^2-y(i)^2);

end

end

S1=s1/n*4;

S2=s2/n*4;

S=S2-S1

注意:秉承能用数组尽量不用循环的原则,考虑到此处的计数m不是必要的,因此可以用如下的程序来完成求和,注意其中逻辑变量的巧用。

n=10000;

a=rand(n,2);

x=a(:,1);y=a(:,2);m=0;s1=0;s2=0;

b=x.^2+y.^2<=1;    %b中值为1的位置应该是对应满足要求的点的位置

f1=sqrt(x.^2+y.^2);

f2=1+sqrt(1-x.^2-y.^2);

s1=sum(f1(b));s2=sum(f2(b));

S1=s1/n*4;

S2=s2/n*4;

S=S2-S1

或者

b=x.^2+y.^2<=1;    %b中值为1的位置应该是对应满足要求的点的位置

x1=x(b);y1=y(b);

f1=sqrt(x1.^2+y1.^2);

f2=1+sqrt(1-x1.^2-y1.^2);

s1=sum(f1);s2=sum(f2);

大学数学实验3参考答案

相关推荐