一、实验内容
1. 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用MATLAB的max函数、min函数来实现。 n=input('请输入20个数'); %调用函数实现 max1=max(n) min1=min(n)
%用循环结构实现 max2=n(1); min2=n(1); for i=2:20;
if max2 if min2>n(i); min2=n(i); end end max2 min2 运行结果: 请输入20个数[0 2 4 6 77 10 12 14 16 28 30 11 3 5 7 19 1 13 25 17] max1 = 77 min1 = 0 max2 = 77 min2 = 0 2. 求Fibonacci数列 (1)大于4000的最小项。 (2)5000之内的项数。 (1)f=[1,1]; i=1; while f(i)<4000 f(i+2)=f(i)+f(i+1); i=i+1; end f(i) 运行结果: ans = 4181 (2)f=[1,1]; i=1; while f(i)+f(i+1)<=5000 f(i+2)=f(i)+f(i+1); i=i+1; end i+1 运行结果: ans =19 3. 写出下列程序的输出结果: s=0; a=[12,13,14;15,16,17;18,19,20;21,22,23]; for k=a for j=1:4 if rem(k(j),2)~=0 s=s+k(j); end end end s 运行结果: s =108 4.求1!+2!+3!+ … +5!的值,以下程序是否正确?如错误改正,并给出运行结果。 clear sum=0; for i=1:5 pdr=1; for k=1:i pdr=pdr*k; end sum=sum+pdr; end sum 运行结果: sum = 153 程序正确 5.鸡兔同笼问题:鸡和兔子关在一个笼子里,已知共有头36个,脚100个,求笼内关了多少只兔子和多少只鸡? 以下程序是否正确?如错误改正,并给出运行结果。 clear chicken=1; while 1 if rem(100-chicken*2, 4)==0&(chicken+(100-chicken*2)/4)==36 break; end chicken=chicken+1; end chicken rabbit=(100-2*chicken)/4 运行结果: chicken = 22 rabbit = 14 程序正确