文档详情

matlab上机练习1matlab上机练习1.doc

发布:2017-12-15约6.24千字共15页下载文档
文本预览下载声明
实验1 MATLAB7.0基本编程 实验目的: ① 掌握脚本和函数; ② 掌握matlab中的变量和M文件的流控制语句; ③ 掌握函数的设计和实现。 实验要求:给出程序和实验结果。 实验内容: 一、一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 二、从键盘输入若干个数,当输入10时结束输入,求这些数的平均值和它们之和。 三、求[1000,2000]之间第一个能被17整除的整数。 四、若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,10000]之间的全部完数。 五、Fibonacci数列定义如下: =1 =1 求Fibonacci数列的第20项。 六、设计一个猜数游戏。首先由计算机产生[1,100]之间的随机整数,然后由用户猜测所产生的随机数。根据用户猜测的情况给出不同提示,如猜测的数大于产生的数,则显示“High”,小于则显示“Low”,等于则显示“You won”,同时退出游戏。用户最多可以猜7次。 实验结果: 一、 一个三位整数各位数字的立方和等于该数本身则称该数为水仙花数。输出全部水仙花数。 程序如下: for m=100:999 m1=fix(m/100); %求m的百位数字 m2=rem(fix(m/10),10); %求m的十位数字 m3=rem(m,10); %求m的个位数字 if m==m1*m1*m1+m2*m2*m2+m3*m3*m3 disp(m) end end 153 370 371 407 二、 从键盘输入若干个数,当输入0时结束输入,求这些数的平均值和它们之和。 程序如下: sum=0; cnt=0; val=input(Enter a number (end in 0):); while (val~=0) sum=sum+val; cnt=cnt+1; val=input(Enter a number (end in 0):); end if (cnt 0) sum mean=sum/cnt end Enter a number (end in 0):45 Enter a number (end in 0):65 Enter a number (end in 0):342 Enter a number (end in 0):45 Enter a number (end in 0):67 Enter a number (end in 0):12 Enter a number (end in 0):0 sum = 576 mean = 96 三、 求[100,200]之间第一个能被21整除的整数。 程序如下: for n=100:200 if rem(n,21)~=0 continue end break end n n = 105 四、 若一个数等于它的各个真因子之和,则称该数为完数,如6=1+2+3,所以6是完数。求[1,500]之间的全部完数。 for m=1:500 s=0; for k=1:m/2 if rem(m,k)==0 s=s+k; end end if m==s disp(m); end end 6 28 496 五、Fibonacci数列定义如下: =1 =1 求Fibonacci数列的第20项。 编写程序为: for i=3:20; f(1)=1; f(2)=1; f(i)=f(i-1)+f(i-2); end f f = Columns 1 through 7 1 1 2 3 5 8 13 Columns 8 through 14 21 34 55 89 144 233 377 Columns 15 through 20 610 987 1597 2584 4181
显示全部
相似文档