matlab习题解答
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
上机练习题一
班级: 姓名: 学号:
1.建立起始值=3,增量值=,终止值=44的一维数组x 答案: x=(3::44)
2.写出计算 Sin(30o
)的程序语句. 答案: sin(pi*30/180) 或 sin(pi/6)
3.矩阵
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=187624323A ,矩阵
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=333222111B ;分别求出B A ⨯及A 与
B 中对应元素之间的乘积.
答案:A = [3,2,3; 4,2,6; 7,8,1]
B = [1,1,1; 2,2,2; 3,3,3] A*B ;A.*B
4计算行列式的值1
876
24
323=A 。答案:det(A)
5对矩阵
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=187624323A 进行下述操作。
(1)求秩。答案:rank(A)
(2)求转置。答案:A' (3) 对矩阵求逆,求伪逆。答案:inv(A) ,pinv(A) (4) 左右反转,上下反转。答案:fliplr(A),flipud(A)
(5) 求矩阵的特征值. 答案:[u,v]=eig(A) (6) 取出上三角和下三角. 答案:triu(a) tril(a)
(7)以A 为分块作一个3行2列的分块矩阵。答案:repmat(a)
6 计算矩阵
⎥⎥⎥⎦
⎤⎢⎢⎢⎣⎡897473535与
⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡638976242之和。
>> a=[5 3 5;3 7 4;7 9 8];
>> b=[2 4 2;6 7 9;8 3 6]; >> a+b 7 计算⎥⎦
⎤⎢⎣⎡=572
396
a 与⎥⎦
⎤⎢⎣⎡=864
142
b 的数组乘积。
>> a=[6 9 3;2 7 5];
>> b=[2 4 1;4 6 8]; >> a.*b ans =
12 36 3
8 42 40 8 已知:
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=987654321a ,分别计算a 的数组平方和矩阵平
方,并观察其结果。
>> a=[1 2 3;4 5 6;7 8 9]; >> a.^2 ans =
1 4 9 16 25 36 49 64 81 >> a^
2 ans =
30 36 42 66 81 96 102 126 150
上机练习题二
班级: 姓名: 学号:
1 对于B AX =,如果
⎥⎥
⎥⎦
⎤
⎢⎢⎢⎣⎡=753467294A ,
⎥⎥⎥⎦
⎤
⎢⎢⎢⎣⎡=282637B ,求解X 。
>> A=[4 9 2;7 6 4;3 5 7];
>> B=[37 26 28]’; >> X=A\B X =
2 角度[]604530=x ,求x 的正弦、余弦、正切和余切。 >> x=[30 45 60]; >> x1=x/180*pi; >> sin(x1) ans =
>> cos(x1) ans =
>> tan(x1) ans =
>> cot(x1) ans =
3 将矩阵⎥⎦
⎤
⎢⎣
⎡=75
24
a 、⎥⎦⎤⎢⎣⎡=3817
b 和⎥⎦
⎤
⎢⎣⎡=2695c 组合成两个新矩阵:
(1)组合成一个43的矩阵,第一列为按列顺序排列的a 矩阵元素,第二列为按列顺序排列的b 矩阵元素,第三列为按列顺序排列的c 矩阵元素,即
⎥⎥
⎥⎥⎦
⎤⎢⎢⎢⎢⎣⎡237
912685574
(2)按照a 、b 、c 的列顺序组合成一个行矢量,即 []296531877254 答案:a=[4 2;5 7]; b=[7 1;8 3]; c=[5 9;6 2]; % (1)
>> d=[a(:) b(:) c(:)] d =
4 7
5 5 8
6 2 1 9
7 3 2 % (2)
>> e=[a(:);b(:);c(:)]' e =
4 5 2 7 7 8 1 3 5 6 9 2
或利用(1)中产生的d >> e=reshape(d,1,12)
ans =
4 5 2 7 7 8 1 3 5 6 9 2
4求解在x =8时多项式(x -1)(x -2) (x -3)(x -4)的值。 >> p=poly([1 2 3 4]); >> polyvalm(p,8) ans = 840 5求方程0
23973234
=-++x x x
的全部根。
p=[3,7,9,0,-23]; %建立多项式系数向量 x=roots(p) %求根
上机练习题三
班级: 姓名: 学号:
1、 设x 是数组,求均值和方差 解:函数文件如下:
function [xx,s]=func1(x) n=length(x);
xx=sum(x)/n;
s=sqrt((sum(x.^2)-n*xx^2)/(n-1)); 命令窗口:
>> x=[1 2 3 4 5];[xx,s]=func1(x) 2、求满足100)1ln(0
>+∑=m n n 的最小m 值
s=0; n=0;
while(s<=100) s=s+log(1+n); n=n+1; end n,s
3、用循环语句形成
Fibonacci
数列
,....
4,3,,12121=+===--k F F F F F k k k 。并验证极限2
511
+→
-k k
F F
(提示:
计算至两边误差小于精度1e-8为止) 解: 求Fibonacci 数列的函数文件: function f=fun(n)
if n<=2 f=1; else