1、matlab第三章课后部分答案matlab第三章课后部分答案习题三3-2 从键盘输入一个三位整数,将它反向输出。如输入639,输出为936程序如下:m=input(请输入一个三位整数:);m1=fix(m/100);%求m的百位整数m2=rem(fix(m/10),10);%求m的十位数字m3=rem(m,10);%求m的个位数字m=m3*100+m2*10+m1%反向输出m3-3 输入一个百分制成绩,要求输出成绩等级A,B,C,D,E。其中90100分为A,8089分为B,7079分为C,6069分为D,60分以下为E。 要求:(1)分别用if语句和switch语句实现。 (2)输入百分制成
2、绩后要判断该成绩的合理性,对不合理的成绩应输出出错信息。程序如下:(1)if语句 c=input(请输入成绩:);if c=90&c=80&c=70&c=60&c=69 disp(D 成绩合理);elseif c60 disp(E 成绩合理);else disp(成绩错误);end(2)switch语句 c=input(请输入成绩:);switch fix(c) case num2cell(90:100) disp(A 成绩合理); case num2cell(80:89) disp(B 成绩合理); case num2cell(70:79) disp(C 成绩合理); case num2ce
3、ll(60:69) disp(D 成绩合理); case num2cell(0:59) disp(E 成绩合理);x=fix(rand(1,20)*89)+10;x1=fix(sum(x)/20);disp(平均数是: ,num2str(x1)m=(rem(x,2)=0&xa(1,i) m=a(1,i) endendmin函数function n=min(a)m=a(1,20);for i=2:20 if n 当n等于100时: 1.635当n等于1000时: 1.6439当n等于10000时: 1.6448(2) 1-1/3+1/5-1/7+(=pi/4)程序如下:clear all n=1
4、:100; b=1./(4.*n-3)-1./(4.*n-1); c=sum(b);disp(当n等于100时: ,num2str(c) n=1:1000; b=1./(4.*n-3)-1./(4.*n-1); c=sum(b);disp(当n等于1000时: ,num2str(c) n=1:10000; b=1./(4.*n-3)-1./(4.*n-1); c=sum(b);disp(当n等于10000时: ,num2str(c)结果: 当n等于100时: 0.78415当n等于1000时: 0.78527当n等于10000时: 0.78539(3)1/4+1/16+1/64+1/4n+(=
5、1/3)程序如下:clear alln=1:100;b=1./(4.n);c=sum(b);disp(当n等于100时: ,num2str(c)n=1:1000;b=1./(4.n);c=sum(b);disp(当n等于1000时: ,num2str(c)n=1:10000;b=1./(4.n);c=sum(b);disp(当n等于10000时: ,num2str(c)结果: 当n等于100时: 0.33333当n等于1000时: 0.33333当n等于10000时: 0.33333(4)(2n)(2n)/(2n-1)(2n+1)(=pi/2)程序如下:clear alln=1:100;b=(
6、2*n).*(2*n)./(2*n-1).*(2*n+1);c=prod(b);disp(当n等于100时: ,num2str(c)n=1:1000;b=(2*n).*(2*n)./(2*n-1).*(2*n+1);c=prod(b);disp(当n等于1000时: ,num2str(c)n=1:10000;b=(2*n).*(2*n)./(2*n-1).*(2*n+1);c=prod(b);disp(当n等于10000时: ,num2str(c)结果: 当n等于100时: 1.5669当n等于1000时: 1.5704当n等于10000时: 1.57083-9若两个连续自然数的乘积减1是素数
7、,则称这两个连续自然数是亲密数对,该素数是亲密素数。例如,2*3-1=5,由于5是素数,所以2和3是亲密数对,5是亲密素数。求2,50区间内:(1)亲密数对的对数。(2)与上述亲密数对对应的所有亲密素数之和。程序如下:clear allp=0;l=0;H=;for m=2:49 a=m; b=m+1; c=a*b-1; for k=1:c if rem(c,k)=0 l=l+1; endendif l=2 disp(亲密数对是,(,num2str(a),num2str(b),) p=p+1; H=H,c;endl=0;endsum=sum(H);disp(亲密数对的个数是:,num2str(p
8、)disp(亲密数对的和是: ,num2str(sum)3-10 根据y=1+1/3+1/5+1/(2n-1),求:(1)y3&(sum-1/(2*n-1)3 disp(n-1) disp(sum-1/(2*n-1) endend方法2clear alln=1;y=0;while(y3) x=1/(2*n-1); n=1+n; y=y+x;enddisp(y3时n的最大值是: ,num2str(n-2)disp(相应的y值是: ,num2str(y-x)3-12 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。程序如下:mul函数 %用于求两个矩阵的乘积和点乘func
9、tion x,y=mul(a,b)x=a*b;y=a.*b;main%主函数a=input(请输入一个矩阵:);b=input(请再输入一个矩阵:(注意:两矩阵要可以相乘)); x,y=mull(a,b);disp(这两个矩阵的乘积为:);xdisp(这两个矩阵的点乘为:);y3-14 先用函数的递归调用定义一个函数文件求I,然后调用该函数文件求k+k2+1/k程序如下:定义一个求和函数:function sum=add(n,m)if n1 sum=0;else sum=nm+add(n-1,m);end主函数:clear ally=add(100,1)+add(50,2)+add(10,-1);disp(y)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1