《matlab上机作业》由会员分享,可在线阅读,更多相关《matlab上机作业(7页珍藏版)》请在金锄头文库上搜索。
1、第四次 上机作业1、 从键盘输入一个4位整数,按照如下规则加密后输出。加密规则:每位数字都加上7,然后用和除以10的余数取代该数字;再把第一位与第三位交换,第二位与第四位交换。ClearX=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的值从键盘输入。a=input(请输入a:);b=input(请输入b:)
2、;c=input(请输入c:);If(x=0.5&x=1.5&x=3.5&x=0.5&x=1.5&x=3.5&x=5.5)y=log(abs(b+c./x)end3、 产生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=m a=m;Else if b=m b=m;EndEndDisp(最小的数是:,num2str(a)Disp(最大的数是:,
3、num2str(a) 5、 已知: 分别用循环结构和调用Matlab的sum函数求的值。 Clear all ;close all ;clc;S=0; For a=0:63 C=2a S=s+c;EndDisp(2的0次方到63次方的和是:,num2str(s)6、 当n分别取100、1000、10000时,求下列各式的值。(1) (2) (3) 要求分别用循环结构和向量运算(使用sum或prod函数)来实现。 Clear all ;close all ;clc;Sum1=0;%当n取100时 For n= 1:100X=(-1)(n+1)*(1/n);Sum1=sum1+x;EndDisp(
4、当n取1000时:sum=,num2str(sum2)Sum2=0;%当n取1000时For n= 1:1000X=(-1)(n+1)*(1/n);Sum2=sum2+x;EndDisp(当n取10000时:sum=,num3str(sum3)Sum2=0;%当n取10000时For n= 1:10000X=(-1)(n+1)*(1/n);Sum3=sum3+x;End7、 编写一个函数文件,求小于任意自然数n的Fibnacci数列各项。Fibnacci数列定义如下:Function f=func_fibnacci(n)%FIBNACCI斐波那契(Finacci)数列%f=func_fibna
5、cci(n), %Written by wangchngyoushandongUniversity at wcihai,2011If n=1 n=2F=1;ElseF=func_fibnacci(n-1)+func_fibnacci(n-2);end8、 编写一个函数文件,用于求两个矩阵的乘积和点乘,然后在命令文件中调用该函数。 Clear all ;close all ;clc;A=input(请输入一个矩阵:)B=input(请输入一个矩阵:)f1,f2=func_Matrixprod(a,b);Disp(两矩阵乘积运算结果为:)Disp(fi)Disp(两矩阵点积运算结果为:)Disp(
6、f2)9、 先用函数的递归调用定义一个函数文件求,然后调用该函数求。Function sum=func_Sigmasum(n,m)%SIGAMASUM 西格玛求和%sum=func_SigmaSuum(n,m)%written by wangchenyoushangdong University at weihai 2011Ifn=1Sum=0;ElseSum=nm+func_sigmasum(n-1,m);end10、 写出下列程序的输出结果。(1) 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 endends(2) 命令文件exe.m:global xx=1:2:5;y=2:2:6;exsub(y);xy函数文件sub.m:function fun=sub(z)global xz=3*x;x=x+z;答: 1.s=1082. X= 4 12 20 Y=2 4 6