第四次 上机作业
1、 从键盘输入一个4位整数,按照如下规则加密后输出。加密规则:每位数字
都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。 Clear X=ones(1,4);
X(1)=input(’输入第一位:‘); X(2)=input(’输入第二位:‘); X(3)=input(’输入第三位:‘); X(4)=input(’输入第四位:‘); X=rem(7+x,10);
Y=1000.*x(3)+100.*x(4)+10.*x(1)+x(2)
2、 分别用if 和switch语句实现以下计算,其中a、b、c的值从键盘输入。
??ax2?bx?c,?y??asincb?x,?c?lnb?,x?0.5?x?1.51.5?x?3.5 3.5?x?5.5a=input(‘请输入a:’); b=input(‘请输入b:’); c=input(‘请输入c:’); If(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c Elseif(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x
Elseif(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end
a=input(‘请输入a:’); b=input(‘请输入b:’); c=input(‘请输入c:’); Switch x
case(x>=0.5&&x<=1.5) y=a.*x^2+b.*x+c case(x>=1.5&&x<=3.5) y=a.*(sin(b))^c+x case(x>=3.5&&x<=5.5) y=log(abs(b+c./x)) end
3、 产生20个两位随机整数,输出其中小于平均值的偶数。 Clear al ;close all ;clc; X=fix(rand(1,20)*89)+10;
Disp([‘20个随机数是:’,num2str(x)]); X1=mean(x);
Disp([‘平均值为:’,num2str(x1)]); N=find(rem(x,2)==0&x Disp([‘小于平均值的偶数是:’,num2str(x(n))]); 4、 输入20个数,求其中最大数和最小数。要求分别用循环结构和调用Matlab 的max函数、min函数来实现。 Clear all ;close all ;clc; A=input(‘请输入20个数的一个行向量:’); a=A(1); b=A(1); For m=A Ifa>=m a=m; Else if b<=m b=m; End End Disp([‘最小的数是:’,num2str(a)]) Disp([‘最大的数是:’,num2str(a)]) 5、 已知:s?1?2?22?23???263 分别用循环结构和调用Matlab的sum函数 求s的值。 Clear all ;close all ;clc; S=0; For a=0:63 C=2^a S=s+c; End Disp([‘2的0次方到63次方的和是:’,num2str(s)]) 6、 当n分别取100、1000、10000时,求下列各式的值。 1111?????(?1)n?1??(?ln2) 234n111?(2) 1?????(?) 357411111(3) ?????n??(?) 4166434(1) 1?要求分别用循环结构和向量运算(使用sum或prod函数)来实现。 Clear all ;close all ;clc; Sum1=0;%当n取100时 For n= 1:100 X=(-1)^(n+1)*(1/n); Sum1=sum1+x; End Disp([‘当n取1000时:sum=’,num2str(sum2)] Sum2=0;%当n取1000时 For n= 1:1000 X=(-1)^(n+1)*(1/n); Sum2=sum2+x; End Disp([‘当n取10000时:sum=’,num3str(sum3)] Sum2=0;%当n取10000时 For n= 1:10000 X=(-1)^(n+1)*(1/n); Sum3=sum3+x; End 7、 编写一个函数文件,求小于任意自然数n的Fibnacci数列各项。Fibnacci数 列定义如下: ?f1?1,??f2?1,?f?f?f,n?1n?2?nn?1n?2 n?2 Function f=func_fibnacci(n) %FIBNACCI斐波那契(Finacci)数列 %f=func_fibnacci(n), %Written by wangchngyou@shandongUniversity at wcihai,2011 If n==1 n==2 F=1; Else F=func_fibnacci(n-1)+func_fibnacci(n-2); end 8、 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用 该函数。 Clear all ;close all ;clc; A=input(‘请输入一个矩阵:’) B=input(‘请输入一个矩阵:’) [f1,f2]=func_Matrixprod(a,b); Disp(‘两矩阵乘积运算结果为:’) Disp(fi) Disp(‘两矩阵点积运算结果为:’) Disp(f2) 9、 先用函数的递归调用定义一个函数文件求?im,然后调用该函数求 i?1n