1、第 1 页共 8 页西南林业大学 20122013 学年第 02 学期MATLAB 基础与应用(试卷 B)考试形式:上机 考试时间:120 分钟姓名:学号:一、 简答题(每小题 5 分,共 10 分)1. MATLAB 系统由那些部分组成?(1) MATLAB 系统由开发环境,(2) MATLAB 语言,(3) MATLAB 数学函数库,(4) MATLAB 图像处理系统(5) 和 MATLAB 应用程序接口 5 大部分组成。2. 数组运算和矩阵运算的运算符有什么区别?(1)MATLAB 中数组的加.减.乘.除运算是按元素对元素的方式进行的。数组的加减法为数组对应元素的加减法,利用运算符“+”
2、和“-”实现运算。相加或相减的两个数组必须有相同维数,或者是数组同标量相加减。数组的乘除法为对应数组元素的乘除,通过运算符“*”和“/”实现。相乘或相除的两个数组必须具有相同的维数,或者是数组同标量相乘或相除。数组幂运算用符号“”实现,表示元素对元素的幂。数组幂运算三种方式进行:底为数组,底为标量和底与指数均为数组。当底与指数均为数组时,要求两个数组具有相同的维数。(2)然而矩阵的运算:矩阵的加减运算使用“+”,“-”运算符,能够相加减的矩阵需满足以下两个条件之一。第一,类型相同,即行数相等,且列数相等。第二,其中一个为标量,此时的加减运算结果等于矩阵矩阵中每个元素都和标量做加减运算。矩阵的乘
3、积运算使用*运算符,而且相乘的矩阵必须满足维数条件,如果 A 是一个 m*p 矩阵,而 B 是一个 p*n 矩阵,他们可以相乘产生 m*n 矩阵。二、 编程题(共 60 分)题号 一 二 三 四 五 六 七 八 九 十 总分分数计分人第 2 页共 8 页1. (5 分)创建一个 4*5 随机阵 B,提取第一行和第二行中大于 0.3 的元素组成矩阵 CB=rand(4,5) B =0.9501 0.8913 0.8214 0.9218 0.93550.2311 0.7621 0.4447 0.7382 0.91690.6068 0.4565 0.6154 0.1763 0.41030.4860
4、0.0185 0.7919 0.4057 0.8936 2. (10 分) (1) 生成一个 10 阶魔方矩阵 z;(2) 求 z 的各列元素之和;(3) 求 z 的对角线元素之和;(4) 将 z 的第二列除以 ;3(5) 将 z 的第 3 行元素加到第 8 行。(1)z=magic(10) z =92 99 1 8 15 67 74 51 58 4098 80 7 14 16 73 55 57 64 414 81 88 20 22 54 56 63 70 4785 87 19 21 3 60 62 69 71 2886 93 25 2 9 61 68 75 52 3417 24 76 83
5、90 42 49 26 33 6523 5 82 89 91 48 30 32 39 6679 6 13 95 97 29 31 38 45 7210 12 94 96 78 35 37 44 46 5311 18 100 77 84 36 43 50 27 59 (2)sum(z) ans =505 505 505 505 505 505 505 505 505 505 (3)(4)z(2,:)/(3(1/2) 第 3 页共 8 页ans =Columns 1 through 9 56.5803 46.1880 4.0415 8.0829 9.2376 42.1466 31.7543 32.
6、9090 36.9504Column 10 23.6714 3. (10 分)方阵 A=2,9,0;3,8,5;9,1,4,求该方阵的特征值和特征向量,秩,逆阵,矩阵 A 的 2 次幂,矩阵 A 元素的 2 次幂。参考程序如下:A=2,9,0;3,8,5;9,1,4 A =2 9 03 8 59 1 4 eig(A) ans =14.0676 -0.0338 + 4.9950i-0.0338 - 4.9950i rank(A) ans =3 inv(A) ans =0.0769 -0.1026 0.12820.0940 0.0228 -0.0285-0.1966 0.2251 -0.0313
7、A2 ans =31 90 4575 96 6057 93 21 A.2 ans =4 81 0第 4 页共 8 页9 64 2581 1 16 4. (10 分)求代数方程 的根,求543()379120fxx2()dfxf=sym(3*x5+4*x4+7*x3+9*x+12);solve(f) % x 为自变量,求解方程 f=0 ans =.70677633820554752786251619214671+.97393428192687039802198628413164*i-.93077327192305565422002343499141+1.501226538482512790015
8、6772671695*i-.88533946589831708061831884764392-.93077327192305565422002343499141-1.5012265384825127900156772671695*i.70677633820554752786251619214671-.97393428192687039802198628413164*i dsolve(D2y=3*x5+4*x4+7*x3+9*x+12) ans =1/2*(3*x5+4*x4+7*x3+9*x+12)*t2+C1*t+C2 5. (5 分)本金 K 以每年 n 次,每次 p %的增值率(n 与
9、p 的乘积为每年增值额的百分比)增加,当增加到 r*K 时所花费的时间为(单位:年)01.ln(prT用 MATLAB 表达式写出该公式并用下列数据计算:r=2, p=0.5, n=12.r=2;p=0.5;n=12; t=log(r)/n/log(1+0.01*p) t =11.5813 6. (5 分)用矩阵除法解下列线性方程组,并说明解的意义(1)4132xA=4 1;3 2;1 -5; b = 1;1;1;c = A b 第 5 页共 8 页c =4 1 13 2 11 -5 1 rank(A) ans =2 rank(c) ans =3 x=Ab x =0.3311-0.1219 (
10、2) 11234xA=2 1 -1 1;1 2 1 -1;1 1 2 1;b=1;2;3;c=A b c =2 1 -1 1 11 2 1 -1 21 1 2 1 3 rank(A) ans =3 rank(c) ans =3 x=Ab x =1.00000第 6 页共 8 页1.00000.0000 7. (5 分)执行下列指令,观察其运算结果, 并说明其意义(根据学号选做 1 题):(1)log(1 10 100) ans =0 2.3026 4.6052 说明: log(1)ans =0 log(10)ans =2.3026 log(100)ans =4.6052观察后,我用 MATLA
11、B 分别执行 log(1), log(10),log(100)之后得到的结果完全正确,所以,是用 log 对数组的每一个数分别计算,得到新的数组。(2)prod(1 2;3 4) (3)a,b=min(10 20;30 40)(4)abs(1 2;3 4-pi)(5) 1 2;3 4=4,3;2 1(6)find(10 20;30 40=40,30;20 10)(7 a,b=find(10 20;30 40=40,30;20 10) (提示:a 为行号,b 为列号)(8) all(1 2;3 41)(9) any(1 2;3 41)(10) linspace(3,4,5)8. (10 分)作出
12、下列函数图象(根据学号尾号选做 1 题)(1) 曲线 y = x2 sin (x2 - x - 2), -2 x 2 (要求分别使用 plot 或 fplot 完成)x=-2:0.01:2;y=x.2.*sin(x.2-x-2);plot(x,y);figure(2);fplot(x)x2*sin(x2-x-2),-2 2) 第 7 页共 8 页-2 -1.5 -1 -0.5 0 0.5 1 1.5 2-4-3-2-10123(2) 椭圆 x2/4 + y2/9 = 1(3) 抛物面 z = x2 + y2 , x3, y3(4) 曲面 z=x4+3x2+y2-2x-2y-2x2y+6, |x
13、|3, -3y13(5) 空间曲线 x=sint, y=cost, z=cos(2t), 0t2(6) 半球面 x=2sincos, y=2sinsin, z=2cos, 03600, 0900(7) 三条曲线合成图 y1=sinx, y2=sinxsin(10x), y3= sinx , 0x(8)绘制曲线 ,x 的取值范围为-5,5。13y(9)表中列出了 4 个观测点的 6 次测量数据,将数据绘制成为分组形式和堆叠形式的条形图。第 1 次 第 2 次 第 3 次 第 4 次 第 5 次 第 6 次观测点 1 3 6 7 4 2 8观测点 2 6 7 3 2 4 7观测点 3 9 7 2 5 8 4观测点 4 6 4 3 2 7 4(10)x= 66 49 71 56 38,绘制饼图,并将第五个切块分离出来。三、 编程题(共 15 分)设 编制一个函数文件:取任意整数,若是偶数,则用 2 除,否则乘 3 加1。 第 8 页共 8 页四、 GUI(共 15 分)编程显示双音频的波形,界面如下: