《数学实验》课程实验报告

       《数学实验》课程实验报告 课程名称 班级 实验日期 姓名 学号 实验成绩 实验名称 实验二 Matlab 循环结构程序设计 实 验 目 的 及 要 求 掌握利用 for 语句实现选择结构的方法 掌握利用 while 语句实现选择结构的方法 实 验 环 Matlab 软件

       境 实 验 内 容 1.根据,求π的近似值。当 n 分别取100、1000、10000 时,结果是多少? 要求:分别用循环结构和向量运算(使用 sum 函数)来实现。

       2.根据,求:

       (1)y<3 时的最大 n 值。

       (2)与(1)的 n 值对应的 y 值。

       3.考虑以下迭代公式:

       其中 a、b 为正的常数。

       (1)编写程序求迭代的结果,迭代的终止条件为|x n+1-x n |≤10-5,迭代初值 x0 =1.0,迭代次数不超过 500 次。

       (2)如果迭代过程收敛于 r,那么 r 的准确值是,当(a,b)的值取(1,1)、(8,3)、(10,0.1)时,分别对迭代结果和准确值进行比较。

       22 2 2 21 1 1 16 1 2 3 n    1 1 113 5 2 1yn    1 nnaxb x242b b a   

       4.已知 求 f 1 ~f 100 中:

       (1)最大值、最小值、各数之和。

       (2)正数、零、负数的个数。

       5.一个 3 位整数各位数字的立方和等于该数本身则称该数为水仙花数,请输出 100—999 之间的全部水仙花数。

       6.若一个数等于他的各个真因子之和,则称该数为完数,例如 6=1+2+3,所以 6 为完数,请[1,500]之间的所有完数。

       7.若两个连续自然数的乘积减 1 是素数,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如,2×3-1=5,由于 5 是素数,所以 2 和 3 是亲密数,5 是亲密素数。求[2,50]区间内:

       (1)亲密数对的对数。

       (2)与上述亲密数对对应的所有亲密素数之和。

       8.从键盘输入若干个数,当输入为 0 时结束输入,求这些1231 2 31 10 21 32 3n n n nf nf nf nf f f f n         

       数的和与他们的平均值。

       实 验 过 程 和 程 序 1、function y6=fun6(x)k=0;for i=1:x k=k+(6*(1/i^2));end y6=sqrt(k);

       向量运算:

       n=10000 x=1./(1:n).^2;s=sum(x);pi=sqrt(6*s)n =100 pi =3.1321 n =1000 pi =3.1406 n =10000 pi =3.1415 2,(1)y=0;for n=1:1000 y=y+1/(2*n-1);

       if y>3 break end end n-1 答案:

       ans = 56(2)y=0;for n=1:56 y=y+1/(2*n-1);end y 答案:

       y = 2.9944

       3,(1)a=input("输入整数 a=");b=input("输入整数 b=");x=1.0;n=0;while abs(x-a/(b+x))>=10^-5 if n<=500 x=a/(b+x);n=n+1;end end x 答案:

       输入整数 a=2 输入整数 b=5 x =

       0.3723(2)a=input("输入整数 a=");b=input("输入整数 b=");x=1.0;n=0;while abs(x-a/(b+x))>=10^-5 if n<=500 x=a/(b+x);n=n+1;end end x r(1)=(-b+sqrt(b^2+4*a))/2 r(2)=(-b-sqrt(b^2+4*a))/2 s=r-x 答案:

       输入整数 a=1 输入整数 b=1

       x =0.6180 r =0.6180 r =0.6180-1.6180 s =-0.0000-2.2361 输入整数 a=8 输入整数 b=3 x =1.7016 r =1.7016-1.6180 r =1.7016-4.7016 s =0.0000-6.4031 输入整数 a=10 输入整数 b=0.1 x =3.1127 r =3.1127-4.7016 r =3.1127-3.2127 s =-0.0000-6.3254

       4,f(1)=1;f(2)=0;f(3)=1;for n=4:100 f(n)=f(n-1)-2*f(n-2)+f(n-3);end disp(["max=",num2str(max(f))])disp(["min=",num2str(min(f))])disp(["sum=",num2str(sum(f))])disp(["正数的个数 a=",num2str(length(find(f>0)))])disp(["零的个数 b=",num2str(length(find(f==0)))])disp(["负数的个数 c=",num2str(length(find(f<0)))])(1)答案:

       max=4.377633e+011 min=-8.994121e+011 sum=-7.427456e+011

       (2)答案:

       正数的个数 a=49 零的个数 b=2 负数的个数 c=49 5,s=[];for i=100:999 a=floor(i/100);b=floor((i-100*a)/10);c=mod(i,10);if i==a^3+b^3+c^3 s=[s,i];end end s 水仙花数: s =

       153 370 371 407 6, disp("完数有:");for n=1:500 sum=0;for i=1:n/2 if rem(n,i)==0 sum=sum+i;end end if sum==n disp(n);end end 答案:

       完数有:

       28 496 7,num=0;sum=0;for i=2:50 m=i*(i+1)-1;for n=2:m if rem(m,n)~=0 continue end break end n;if n==m num=num+1;sum=sum+m;

       end end num sum(1)亲密数对的对数:

       num = 29(2)所有亲密素数之和:

       sum = 23615 8,num=0;sum=0;

       n=input("输入一个数,当输入为 0 时结束输入");while n~=0 sum=sum+n;num=num+1;n=input("输入一个数:");end sum ave=sum/num 答案:

       输入一个数,当输入为 0 时结束输入 18 输入一个数:36 输入一个数:49 输入一个数:57 输入一个数:0 sum = 160 ave =

       数学实验课程实验报告

       过滤实验(实验报告)

       综合性实验实验报告

       啤酒实验实验报告

       实验报告实验一