matlab习题二答案.docx
- 文档编号:16586723
- 上传时间:2023-07-15
- 格式:DOCX
- 页数:25
- 大小:54.97KB
matlab习题二答案.docx
《matlab习题二答案.docx》由会员分享,可在线阅读,更多相关《matlab习题二答案.docx(25页珍藏版)》请在冰点文库上搜索。
matlab习题二答案
习题二
1.选择题
(1)下列变量名中A是合法的。
A.char_1,i,j
B.x*y,a.1
C.x\y,a1234
D.end,lbcx
说明:
end是关键字,变量名中不能有运算符、标点符号,可以有下划线。
内置常量可以作为变量名,但一般不提倡这样做。
(2)下列C是合法常量。
A.3*e10
B.1e500
C.-1.85e-56
D.10-2
说明:
10-2是表达式,1e500超过了realmax,3*e10也是表达式。
(3)x=uint8(2.3e10),则x所占的字节是D个。
A.1
B.2
C.4
D.8
(4)已知x=0:
10,则x有B个元素。
A.10
B.11
C.9
D.12
(5)产生对角线上为全1其余为0的2行3列矩阵的命令是C。
A.ones(2,3)
B.ones(3,2)
C.eye(2,3)
D.eye(3,2)
(6)已知数组
,则a(:
end)是指C。
A.所有元素
B.第一行元素
C.第三列元素
D.第三行元素
(7)已知数组
,则运行a(:
1)=[]命令后C。
A.a变成行向量
B.a数组为2行2列
C.a数组为3行2列
D.a数组中没有元素3
(8)已知数组
,则运行mean(a)命令是B。
A.计算a每行的平均值
B.计算a每列的平均值
C.a数组增加一行平均值
D.a数组增加一列平均值
(9)已知x为一个向量,计算ln(x)的MATLAB命令是计算B。
A.ln(x)
B.log(x)
C.Ln(x)
D.lg10(x)
(10)当a=2.4,使用取整函数计算得出3,则该取整函数名为C。
A.fix
B.round
C.ceil
D.floor
(11)已知a=0:
4,b=1:
5,下面的运算表达式出错的为D。
A.a+b
B.a./b
C.a'*b
D.a*b
(12)命令day(now)是指C。
A.按照日期字符串格式提取当前时间
B.提取当前时间
C.提取当前时间的日期
D.按照日期字符串格式提取当前日期
(13)以下运算符中哪个的优先级最高B。
A.*
B.^
C.~=
D.|
(14)运行命令bitand(20,15)的结果是C。
A.15
B.20
C.4
D.5
bitand(20,15)
ans=
4
(15)使用检测函数isinteger(15)的结果是B。
A.1
B.0
C.false
D.true
isinteger(15)
ans=
0
(16)计算三个多项式s1、s2和s3的乘积,则算式为C。
A.conv(s1,s2,s3)
B.s1*s2*s3
C.conv(conv(s1,s2),s3)
D.conv(s1*s2*s3)
2.复数变量a=2+3i,b=3-4i,计算a+b,a-b,c=a*b,d=a/b,并计算变量c的实部、虚部、模和相角。
a=2+3i;b=3-4i;
a+b
a-b
c=a*b
d=a/b
real(c)
imag(c)
abs(c)
angle(c)
ans=
5.0000-1.0000i
ans=
-1.0000+7.0000i
c=
18.0000+1.0000i
d=
-0.2400+0.6800i
ans=
18
ans=
1
ans=
18.0278
ans=
0.0555
3.用“from:
step:
to”方式和linspace函数分别得到从0~4π步长为0.4π的变量x1和从0~4π分成10点的变量x2。
x1=0:
0.4*pi:
4*pi
x2=linspace(0,4*pi,10)
x1=
Columns1through10
01.25662.51333.76995.02656.28327.53988.796510.053111.3097
Column11
12.5664
x2=
01.39632.79254.18885.58516.98138.37769.773811.170112.5664
4.输入矩阵
,使用全下标方式取出元素“3”,使用单下标方式取出元素“8”,取出后两行子矩阵块,使用逻辑矩阵方式取出
。
a=[123;456;789]
a(1,3)
a(6)
a(2:
3,:
)
a([1,3],[1,3])
a=
123
456
789
ans=
3
ans=
8
ans=
456
789
ans=
13
79
5.输入a为3×3的魔方阵,b为3×3的单位阵,并将a、b小矩阵组成3×6的大矩阵c和6×3的大矩阵d,将d矩阵的最后一行取出构成小矩阵e。
a=magic(3)
b=eye(3)
c=[a,b]
d=[a;b]
d(end,:
)
a=
816
357
492
b=
100
010
001
c=
816100
357010
492001
d=
816
357
492
100
010
001
ans=
001
6.将矩阵
用flipud、fliplr、rot90、diag、triu和tril函数进行操作。
a=reshape(1:
9,3,3);
a=a'
flipud(a)
fliplr(a)
rot90(a)
diag(a)
triu(a)
tril(a)
a=
123
456
789
ans=
789
456
123
ans=
321
654
987
ans=
369
258
147
ans=
1
5
9
ans=
123
056
009
ans=
100
450
789
7.求矩阵
的转置、秩、逆矩阵、矩阵的行列式值和矩阵的三次幂。
a=[13;58];
a'
rank(a)
inv(a)
det(a)
a^3
ans=
15
38
ans=
2
ans=
-1.14290.4286
0.7143-0.1429
ans=
-7
ans=
151264
440767
8.输入a=[1.6-2.45.2-0.2],分别使用数学函数ceil、fix、floor、round查看各种取整运算的结果。
a=[1.6-2.45.2-0.2];
ceil(a)
fix(a)
floor(a)
round(a)
ans=
2-260
ans=
1-250
ans=
1-35-1
ans=
2-250
9.求解方程组
。
A=[2-312;1301;1-118;71-22]
b=[8;6;7;5]
A=
2-312
1301
1-118
71-22
b=
8
6
7
5
解法一:
x=A\b
x=
2.5353
1.2033
6.8299
-0.1452
解法二:
x=inv(A)*b
x=
2.5353
1.2033
6.8299
-0.1452
解法三:
Cram法则
D=det(A);
D1=det([b,A(:
2:
4)]);
D2=det([A(:
1),b,A(:
3:
4)]);
D3=det([A(:
1:
2),b,A(:
4)]);
D4=det([A(:
1:
3),b]);
x1=D1/D,x2=D2/D,x3=D3/D,x4=D4/D
x1=
2.5353
x2=
1.2033
x3=
6.8299
x4=
-0.1452
10.计算数组
,
的左除、右除以及点乘和点除。
A=reshape(1:
9,3,3);A=A'
B=repmat([1;2;3],1,3)
A/B
A\B
A.*B
A./B
A=
123
456
789
B=
111
222
333
Warning:
Matrixissingulartoworkingprecision.
ans=
NaNNaNInf
NaNNaNInf
NaNNaNInf
Warning:
Matrixisclosetosingularorbadlyscaled.
Resultsmaybeinaccurate.RCOND=1.541976e-018.
ans=
-0.3333-0.3333-0.3333
0.66670.66670.6667
000
ans=
123
81012
212427
ans=
1.00002.00003.0000
2.00002.50003.0000
2.33332.66673.0000
11.计算函数
的值,其中t的范围从0~20步长取0.2;f1(t)为f(t)≥0的部分,计算f1(t)的值。
t=0:
0.2:
20;
f=10*exp(2*t)-sin(4*t)
f1=f(f>=0)
f=
1.0e+018*
Columns1through10
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns11through20
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns21through30
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns31through40
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns41through50
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns51through60
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns61through70
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns71through80
0.00000.00000.00000.00000.00010.00010.00020.00020.00040.0005
Columns81through90
0.00080.00120.00180.00260.00390.00580.00870.01300.01940.0289
Columns91through100
0.04310.06430.09590.14310.21350.31860.47520.70901.05771.5778
Column101
2.3539
f1=
1.0e+018*
Columns1through10
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns11through20
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns21through30
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns31through40
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns41through50
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns51through60
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns61through70
0.00000.00000.00000.00000.00000.00000.00000.00000.00000.0000
Columns71through80
0.00000.00000.00000.00000.00010.00010.00020.00020.00040.0005
Columns81through90
0.00080.00120.00180.00260.00390.00580.00870.01300.01940.0289
Columns91through100
0.04310.06430.09590.14310.21350.31860.47520.70901.05771.5778
Column101
2.3539
12.创建三维数组a,第一页为
,第二页为
,第三页为
,重排生成数组b为3行、2列、2页。
a=[12;34];
a(:
:
2)=[12;21];
a(:
:
3)=[12;22]
b=reshape(a,3,2,2)
a(:
:
1)=
12
34
a(:
:
2)=
12
21
a(:
:
3)=
12
22
b(:
:
1)=
14
31
22
b(:
:
2)=
22
12
12
13.计算x从0~20,y=sin(x)中,π<x<4π范围中,y>0的所有值。
x=0:
20;
y=sin(x);
y=y((x>pi)&(x<4*pi)&(y>0))
y=
0.65700.98940.4121
14.输入数组
,使用数组信息获取函数得出行列数,元素个数,是否是稀疏矩阵,是否是字符型。
a=reshape(1:
9,3,3);a=a'
size(a)
numel(a)
issparse(a)
ischar(a)
a=
123
456
789
ans=
33
ans=
9
ans=
0
ans=
0
从最后两条命令运行的结果可知,数组a既不是稀疏矩阵,也不是字符型。
15.两个多项式
,
,计算
,并计算c(x)的根。
当x=2时,计算c(x)的值;将
进行部分分式展开。
a=[54321];
b=[301];
c=conv(a,b)
roots(c)
polyval(c,2)
[r,p,k]=residue(b,a)
c=
15121410621
ans=
-0.5378+0.3583i
-0.5378-0.3583i
0.1378+0.6782i
0.1378-0.6782i
-0.0000+0.5774i
-0.0000-0.5774i
ans=
1677
r=
0.0631-0.0816i
0.0631+0.0816i
-0.0631-0.5639i
-0.0631+0.5639i
p=
0.1378+0.6782i
0.1378-0.6782i
-0.5378+0.3583i
-0.5378-0.3583i
k=
[]
16..x从0~20,计算多项式
的值,并根据x和y进行二阶、三阶和四阶拟合。
p=[54321];
x=0:
20;
px=polyval(p,x)
p2=polyfit(x,px,2)
p3=polyfit(x,px,3)
p4=polyfit(x,px,4)
px=
Columns1through9
1151295471593371174651353922737
Columns10through18
359835432178915111049152127203673267331344865438159
Columns19through21
549217680163833241
p2=
1.0e+004*
0.3591-3.71326.1463
p3=
1.0e+004*
0.0204-0.25291.0645-0.8305
p4=
5.00004.00003.00002.00001.0000
17..求如下行列式的值。
要求:
通过构造三阶、四阶、五阶行列式计算其结果,观察其中规律,写出n阶行列式的通式。
解:
记行列式对应的矩阵为A,则A可以写成如下的形式:
A=tril(2*ones(n))+triu(-2*ones(n))+diag(1:
n)
于是我们可以构造如下的三阶、四阶、五阶矩阵及其行列式如下:
A3=tril(2*ones(3))+triu(-2*ones(3))+diag(1:
3)
det(A3)
A4=tril(2*ones(4))+triu(-2*ones(4))+diag(1:
4)
det(A4)
A5=tril(2*ones(5))+triu(-2*ones(5))+diag(1:
5)
det(A5)
A3=
1-2-2
22-2
223
ans=
30
A4=
1-2-2-2
22-2-2
223-2
2224
ans=
180
A5=
1-2-2-2-2
22-2-2-2
223-2-2
2224-2
22225
ans=
1260
根据A3=30、A4=180、A5=1260可以归纳推理得到
18.根据线性代数方法,求一个正交变换将二次型
化为标准型。
要求:
不准使用MATLAB自带的函数,而应该通过求二次型系数矩阵特征值及其特征向量并正交化的方法求出正交矩阵。
解:
将二次型写为矩阵形式
,其中
,
矩阵A的特征多项式为
p=poly(A)
p=
1.0000-15.0000-18.0000-0.0000
多项式p的根即为A的特征值:
v=roots(p)
v=
16.1168
-1.1168
-0.0000
分别求各个特征值对应的特征向量:
V1=v
(1)*eye(3)-A;
p1=null(V1)
p1=
-0.2320
-0.5253
-0.8187
V2=v
(2)*eye(3)-A;
p2=null(V2)
p2=
0.7858
0.0868
-0.6123
V3=v(3)*eye(3)-A;
p3=null(V3)
p3=
-0.4082
0.8165
-0.4082
因此变换矩阵为
P=[p1,p2,p3]
P=
-0.23200.7858-0.4082
-0.52530.08680.8165
-0.8187-0.6123-0.4082
P^(-1)*A*P
ans=
16.11680.00000.0000
0.0000-1.11680.0000
0.0000-0.0000-0.0000
下面用MATLAB自带的函数进行检验:
[V,D]=eig(A)
V=
-0.2320-0.78580.4082
-0.5253-0.0868-0.8165
-0.81870.61230.4082
D=
16.116800
0-1.11680
00-0.0000
因此二次型的标准型为
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- matlab 习题 答案