西南林业大学2012—2013学年第02学期
《MATLAB基础与应用》(试卷B)
考试形式:上机 考试时间:120分钟
姓名: 学号:
题号 一 分数 计 分 人 二 三 四 五 六 七 八 九 十 总分
一、 简答题(每小题5分,共10分)
1. MATLAB系统由那些部分组成?
(1) MATLAB系统由开发环境, (2) MATLAB语言, (3) MATLAB数学函数库, (4) MATLAB图像处理系统
(5) 和MATLAB应用程序接口5大部分组成。
2. 数组运算和矩阵运算的运算符有什么区别?
(1)MATLAB中数组的加.减.乘.除运算是按元素对元素的方式进行的。数组的加减法为数组对应元素的加减法,利用运算符“+”和“-”实现运算。相加或相减的两个数组必须有相同维数,或者是数组同标量相加减。
数组的乘除法为对应数组元素的乘除,通过运算符“*”和“/”实现。相乘或相除的两个数组必须具有相同的维数,或者是数组同标量相乘或相除。
数组幂运算用符号“^”实现,表示元素对元素的幂。数组幂运算三种方式进行:底为数组,底为标量和底与指数均为数组。当底与指数均为数组时,要求两个数组具有相同的维数。
(2)然而矩阵的运算:
矩阵的加减运算使用“+”,“-”运算符,能够相加减的矩阵需满足以下两个条件之
一。第一,类型相同,即行数相等,且列数相等。
第二,其中一个为标量,此时的加减运算结果等于矩阵矩阵中每个元素都和标量做加减运算。矩阵的乘积运算使用*运算符,而且相乘的矩阵必须满足维数条件,如果A是一个m*p矩阵,而B是一个p*n矩阵,他们可以相乘产生m*n矩阵。
二、 编程题(共60分)
第1页共8页
1. (5分)创建一个4*5随机阵B,提取第一行和第二行中大于0.3的元
素组成矩阵C
B=rand(4,5)
B =
0.9501 0.8913 0.8214 0.9218 0.9355 0.2311 0.7621 0.4447 0.7382 0.9169 0.6068 0.4565 0.6154 0.1763 0.4103 0.4860 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 40 98 80 7 14 16 73 55 57 64 41 4 81 88 20 22 54 56 63 70 47 85 87 19 21 3 60 62 69 71 28 86 93 25 2 9 61 68 75 52 34 17 24 76 83 90 42 49 26 33 65 23 5 82 89 91 48 30 32 39 66 79 6 13 95 97 29 31 38 45 72 10 12 94 96 78 35 37 44 46 53 11 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))
第2页共8页
ans =
Columns 1 through 9
56.5803 46.1880 4.0415 8.0829 9.2376 42.1466 31.7543 32.9090 36.9504 Column 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 0 3 8 5 9 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.1282 0.0940 0.0228 -0.0285 -0.1966 0.2251 -0.0313 A^2
ans =
31 90 45 75 96 60 57 93 21 A.^2
ans =
4 81 0 9 64 25
第3页共8页
81 1 16
d2f(x)4. (10分)求代数方程f(x)?3x?4x?7x?9x?12?0的根,求
dx2543f=sym('3*x^5+4*x^4+7*x^3+9*x+12');solve(f) % x为自变量,求解方程f=0
ans =
.70677633820554752786251619214671+.97393428192687039802198628413164*i -.93077327192305565422002343499141+1.5012265384825127900156772671695*i -.88533946589831708061831884764392 -.93077327192305565422002343499141-1.5012265384825127900156772671695*i .70677633820554752786251619214671-.97393428192687039802198628413164*i dsolve('D2y=3*x^5+4*x^4+7*x^3+9*x+12')
ans =
1/2*(3*x^5+4*x^4+7*x^3+9*x+12)*t^2+C1*t+C2
5. (5分)本金K以每年n次,每次p %的增值率(n与p的乘积为每年增
值额的百分比)增加,当增加到r*K时所花费的时间为
T?lnrnln(1?0.01p)(单位:年)
用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分)用矩阵除法解下列线性方程组,并说明解的意义
?41??1????x1???(1)?32?????1?
???x2????1?5??1?A=[4 1;3 2;1 -5]; b = [1;1;1]; c = [A b]
第4页共8页
c =
4 1 1 3 2 1 1 -5 1 rank(A)
ans = 2 rank(c)
ans = 3 x=A\\b
x =
0.3311 -0.1219
?x1??21?11????1????x2?????2? (2)?121?1???x??3???1121????3??x4?A=[2 1 -1 1;1 2 1 -1;1 1 2 1];b=[1;2;3];
c=[A b]
c =
2 1 -1 1 1 1 2 1 -1 2 1 1 2 1 3 rank(A)
ans = 3 rank(c)
ans = 3 x=A\\b
x =
1.0000 0 1.0000
第5页共8页