2024年5月30日发(作者:务清一)
习题二
1.选择题
(1)下列变量名中A是合法的。
A. char_1,i,j B. x*y,a.1 C. xy,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
(4)已知x=0:10,则x有B个元素。
A. 10 B. 11 C. 9
(5)产生对角线上为全1其余为0的2行3列矩阵的命令是C。
A. ones(2,3) B. ones(3,2) C. eye(2,3)
D. 8
D. 12
D. eye(3,2)
1
(6)已知数组
a4
7
A. 所有元素
2
5
8
3
6
,则a(:,end)是指C 。
9
B. 第一行元素 C. 第三列元素 D. 第三行元素
1
(7)已知数组
a4
7
A. a变成行向量
C. a数组为3行2列
2
5
8
3
6
,则运行a(:,1)=[]命令后C。
9
B. a数组为2行2列
D. a数组中没有元素3
1
(8)已知数组
a4
7
2
5
8
3
6
,则运行mean(a)命令是B 。
9
B. 计算a每列的平均值
D. a数组增加一列平均值
A. 计算a每行的平均值
C. 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
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
D. true
x2=linspace(0,4*pi,10)
x1 =
Columns 1 through 10
0 1.2566 2.5133 3.7699 5.0265 6.2832
7.5398 8.7965 10.0531 11.3097
Column 11
12.5664
x2 =
0 1.3963 2.7925 4.1888 5.5851 6.9813
8.3776 9.7738 11.1701 12.5664
1
4.输入矩阵
a4
7
2
5
8
3
6
,使用全下标方式取出元素“3”,使用单下标方式取出元素
9
3
。
9
1
“8”,取出后两行子矩阵块,使用逻辑矩阵方式取出
7
a=[1 2 3;4 5 6;7 8 9]
a(1,3)
a(6)
a(2:3,:)
a([1,3],[1,3])
a =
1 2 3
4 5 6
7 8 9
ans =
3
ans =
8
ans =
4 5 6
7 8 9
ans =
1 3
7 9
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 =
8 1 6
3 5 7
4 9 2
b =
1 0 0
0 1 0
0 0 1
c =
8 1 6 1 0 0
3 5 7 0 1 0
4 9 2 0 0 1
d =
8 1 6
3 5 7
4 9 2
1 0 0
0 1 0
0 0 1
ans =
0 0 1
1
6.将矩阵
a4
7
a=a'
flipud(a)
fliplr(a)
rot90(a)
diag(a)
triu(a)
tril(a)
a =
2
5
8
3
6
用flipud、fliplr、rot90、diag、triu和tril函数进行操作。
9
a=reshape(1:9,3,3);
1 2 3
4 5 6
7 8 9
ans =
7 8 9
4 5 6
1 2 3
ans =
3 2 1
6 5 4
9 8 7
ans =
3 6 9
2 5 8
1 4 7
ans =
1
5
9
ans =
1 2 3
0 5 6
0 0 9
ans =
1 0 0
4 5 0
7 8 9
1
7.求矩阵
5
a'
rank(a)
inv(a)
det(a)
a^3
ans =
3
的转置、秩、逆矩阵、矩阵的行列式值和矩阵的三次幂。
8
a=[1 3;5 8];
1 5
3 8
ans =
2
ans =
-1.1429 0.4286
0.7143 -0.1429
ans =
-7
ans =
151 264
440 767
8. 输入a=[1.6 -2.4 5.2 -0.2],分别使用数学函数ceil、fix、floor、round查看各种取整运算
的结果。
a=[1.6 -2.4 5.2 -0.2];
ceil(a)
fix(a)
floor(a)
round(a)
ans =
2 -2 6 0
ans =
1 -2 5 0
ans =
1 -3 5 -1
ans =
2 -2 5 0
2x
1
3x
2
x
3
2x
4
8
x
1
3x
2
x
4
6
9.求解方程组
。
x
1
x
2
x
3
8x
4
7
7xx2x2x5
234
1
A=[2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2]
b=[8;6;7;5]
A =
2 -3 1 2
1 3 0 1
1 -1 1 8
7 1 -2 2
b =
8
6
7
5
解法一:
x=Ab
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
123
11
10.计算数组
A
456
,
B
22
789
33
A=reshape(1:9,3,3);A=A'
B=repmat([1;2;3],1,3)
A/B
AB
A.*B
A./B
A =
1 2 3
4 5 6
1
2
的左除、右除以及点乘和点除。
3
7 8 9
B =
1 1 1
2 2 2
3 3 3
Warning: Matrix is singular to working precision.
ans =
NaN NaN Inf
NaN NaN Inf
NaN NaN Inf
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.541976e-018.
ans =
-0.3333 -0.3333 -0.3333
0.6667 0.6667 0.6667
0 0 0
ans =
1 2 3
8 10 12
21 24 27
ans =
1.0000 2.0000 3.0000
2.0000 2.5000 3.0000
2.3333 2.6667 3.0000
11.计算函数
f(t)10esin(4t
的
)
值,其中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 *
Columns 1 through 10
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 11 through 20
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 21 through 30
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 31 through 40
2t
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 41 through 50
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 51 through 60
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 61 through 70
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 71 through 80
0.0000 0.0000 0.0000 0.0000 0.0001 0.0001
0.0002 0.0002 0.0004 0.0005
Columns 81 through 90
0.0008 0.0012 0.0018 0.0026 0.0039 0.0058
0.0087 0.0130 0.0194 0.0289
Columns 91 through 100
0.0431 0.0643 0.0959 0.1431 0.2135 0.3186
0.4752 0.7090 1.0577 1.5778
Column 101
2.3539
f1 =
1.0e+018 *
Columns 1 through 10
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 11 through 20
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 21 through 30
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 31 through 40
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 41 through 50
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 51 through 60
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 61 through 70
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 71 through 80
0.0000 0.0000 0.0000 0.0000 0.0001 0.0001
0.0002 0.0002 0.0004 0.0005
Columns 81 through 90
0.0008 0.0012 0.0018 0.0026 0.0039 0.0058
0.0087 0.0130 0.0194 0.0289
Columns 91 through 100
0.0431 0.0643 0.0959 0.1431 0.2135 0.3186
0.4752 0.7090 1.0577 1.5778
Column 101
2.3539
1
12.创建三维数组a,第一页为
3
数组b为3行、2列、2页。
a=[1 2;3 4];
a(:,:,2)=[1 2;2 1];
a(:,:,3)=[1 2;2 2]
b=reshape(a,3,2,2)
a(:,:,1) =
1 2
3 4
a(:,:,2) =
1 2
2 1
a(:,:,3) =
1 2
2 2
b(:,:,1) =
1 4
3 1
2 2
b(:,:,2) =
2 2
1 2
1 2
2
1
,第二页为
4
2
2
1
,第三页为
1
2
2
,重排生成
2
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.6570 0.9894 0.4121
1
14.输入数组
a4
7
疏矩阵,是否是字符型。
2
5
8
3
6
,使用数组信息获取函数得出行列数,元素个数,是否是稀
9
a=reshape(1:9,3,3);a=a'
size(a)
numel(a)
issparse(a)
ischar(a)
a =
1 2 3
4 5 6
7 8 9
ans =
3 3
ans =
9
ans =
0
ans =
0
从最后两条命令运行的结果可知,数组a既不是稀疏矩阵,也不是字符型。
15.两个多项式
a(x)5x4x3x2x1
,
b(x)3x1
,计算
4322
c(x)a(x)b(x)
,并计算c(x)的根。当x=2时,计算c(x)的值;将
b(x)/a(x)
进行部分分式
展开。
a=[5 4 3 2 1];
b=[3 0 1];
c=conv(a,b)
roots(c)
polyval(c,2)
[r,p,k]=residue(b,a)
c =
15 12 14 10 6 2 1
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,计算多项式
y5x4x3x2x1
的值,并根据x和y进行二阶、
三阶和四阶拟合。
p=[5 4 3 2 1];
x=0:20;
px=polyval(p,x)
p2=polyfit(x,px,2)
p3=polyfit(x,px,3)
p4=polyfit(x,px,4)
px =
Columns 1 through 9
1 15 129 547 1593
3711 7465 13539 22737
Columns 10 through 18
35983 54321 78915 111049 152127
203673 267331 344865 438159
Columns 19 through 21
549217 680163 833241
p2 =
1.0e+004 *
0.3591 -3.7132 6.1463
p3 =
432
1.0e+004 *
0.0204 -0.2529 1.0645 -0.8305
p4 =
5.0000 4.0000 3.0000 2.0000 1.0000
17..求如下行列式的值。要求:通过构造三阶、四阶、五阶行列式计算其结果,观察其中规
律,写出n阶行列式的通式。
1
2
2
2
2
2
2
2
2
2
n1
2
2
2
2
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
2 2 -2
2 2 3
ans =
30
A4 =
1 -2 -2 -2
2 2 -2 -2
2 2 3 -2
2 2 2 4
ans =
180
A5 =
1 -2 -2 -2 -2
2 2 -2 -2 -2
2 2 3 -2 -2
2 2 2 4 -2
2 2 2 2 5
ans =
1260
根据A3=30、A4=180、A5=1260可以归纳推理得到
A
n
(n2)!
18.根据线性代数方法,求一个正交变换将二次型
f2x
1
3x
2
3x
3
4x
2
x
3
化为标准
型。要求:不准使用MATLAB自带的函数,而应该通过求二次型系数矩阵特征值及其特征向
222
量并正交化的方法求出正交矩阵。
解:将二次型写为矩阵形式
200
x
1
f
x
1
x
2
x
3
032
x
T
T
2
xAx
,其中
x
x
1
023
x
3
矩阵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
2
x
2
x
,
A
3
0
0
00
32
23
0.8165
-0.4082
因此变换矩阵为
P=[p1,p2,p3]
P =
-0.2320 0.7858 -0.4082
-0.5253 0.0868 0.8165
-0.8187 -0.6123 -0.4082
P^(-1)*A*P
ans =
16.1168 0.0000 0.0000
0.0000 -1.1168 0.0000
0.0000 -0.0000 -0.0000
下面用MATLAB自带的函数进行检验:
[V,D]=eig(A)
V =
-0.2320 -0.7858 0.4082
-0.5253 -0.0868 -0.8165
-0.8187 0.6123 0.4082
D =
16.1168 0 0
0 -1.1168 0
0 0 -0.0000
因此二次型的标准型为
f16.1168y
1
1.1168y
2
22
2024年5月30日发(作者:务清一)
习题二
1.选择题
(1)下列变量名中A是合法的。
A. char_1,i,j B. x*y,a.1 C. xy,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
(4)已知x=0:10,则x有B个元素。
A. 10 B. 11 C. 9
(5)产生对角线上为全1其余为0的2行3列矩阵的命令是C。
A. ones(2,3) B. ones(3,2) C. eye(2,3)
D. 8
D. 12
D. eye(3,2)
1
(6)已知数组
a4
7
A. 所有元素
2
5
8
3
6
,则a(:,end)是指C 。
9
B. 第一行元素 C. 第三列元素 D. 第三行元素
1
(7)已知数组
a4
7
A. a变成行向量
C. a数组为3行2列
2
5
8
3
6
,则运行a(:,1)=[]命令后C。
9
B. a数组为2行2列
D. a数组中没有元素3
1
(8)已知数组
a4
7
2
5
8
3
6
,则运行mean(a)命令是B 。
9
B. 计算a每列的平均值
D. a数组增加一列平均值
A. 计算a每行的平均值
C. 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
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
D. true
x2=linspace(0,4*pi,10)
x1 =
Columns 1 through 10
0 1.2566 2.5133 3.7699 5.0265 6.2832
7.5398 8.7965 10.0531 11.3097
Column 11
12.5664
x2 =
0 1.3963 2.7925 4.1888 5.5851 6.9813
8.3776 9.7738 11.1701 12.5664
1
4.输入矩阵
a4
7
2
5
8
3
6
,使用全下标方式取出元素“3”,使用单下标方式取出元素
9
3
。
9
1
“8”,取出后两行子矩阵块,使用逻辑矩阵方式取出
7
a=[1 2 3;4 5 6;7 8 9]
a(1,3)
a(6)
a(2:3,:)
a([1,3],[1,3])
a =
1 2 3
4 5 6
7 8 9
ans =
3
ans =
8
ans =
4 5 6
7 8 9
ans =
1 3
7 9
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 =
8 1 6
3 5 7
4 9 2
b =
1 0 0
0 1 0
0 0 1
c =
8 1 6 1 0 0
3 5 7 0 1 0
4 9 2 0 0 1
d =
8 1 6
3 5 7
4 9 2
1 0 0
0 1 0
0 0 1
ans =
0 0 1
1
6.将矩阵
a4
7
a=a'
flipud(a)
fliplr(a)
rot90(a)
diag(a)
triu(a)
tril(a)
a =
2
5
8
3
6
用flipud、fliplr、rot90、diag、triu和tril函数进行操作。
9
a=reshape(1:9,3,3);
1 2 3
4 5 6
7 8 9
ans =
7 8 9
4 5 6
1 2 3
ans =
3 2 1
6 5 4
9 8 7
ans =
3 6 9
2 5 8
1 4 7
ans =
1
5
9
ans =
1 2 3
0 5 6
0 0 9
ans =
1 0 0
4 5 0
7 8 9
1
7.求矩阵
5
a'
rank(a)
inv(a)
det(a)
a^3
ans =
3
的转置、秩、逆矩阵、矩阵的行列式值和矩阵的三次幂。
8
a=[1 3;5 8];
1 5
3 8
ans =
2
ans =
-1.1429 0.4286
0.7143 -0.1429
ans =
-7
ans =
151 264
440 767
8. 输入a=[1.6 -2.4 5.2 -0.2],分别使用数学函数ceil、fix、floor、round查看各种取整运算
的结果。
a=[1.6 -2.4 5.2 -0.2];
ceil(a)
fix(a)
floor(a)
round(a)
ans =
2 -2 6 0
ans =
1 -2 5 0
ans =
1 -3 5 -1
ans =
2 -2 5 0
2x
1
3x
2
x
3
2x
4
8
x
1
3x
2
x
4
6
9.求解方程组
。
x
1
x
2
x
3
8x
4
7
7xx2x2x5
234
1
A=[2 -3 1 2;1 3 0 1;1 -1 1 8;7 1 -2 2]
b=[8;6;7;5]
A =
2 -3 1 2
1 3 0 1
1 -1 1 8
7 1 -2 2
b =
8
6
7
5
解法一:
x=Ab
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
123
11
10.计算数组
A
456
,
B
22
789
33
A=reshape(1:9,3,3);A=A'
B=repmat([1;2;3],1,3)
A/B
AB
A.*B
A./B
A =
1 2 3
4 5 6
1
2
的左除、右除以及点乘和点除。
3
7 8 9
B =
1 1 1
2 2 2
3 3 3
Warning: Matrix is singular to working precision.
ans =
NaN NaN Inf
NaN NaN Inf
NaN NaN Inf
Warning: Matrix is close to singular or badly scaled.
Results may be inaccurate. RCOND = 1.541976e-018.
ans =
-0.3333 -0.3333 -0.3333
0.6667 0.6667 0.6667
0 0 0
ans =
1 2 3
8 10 12
21 24 27
ans =
1.0000 2.0000 3.0000
2.0000 2.5000 3.0000
2.3333 2.6667 3.0000
11.计算函数
f(t)10esin(4t
的
)
值,其中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 *
Columns 1 through 10
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 11 through 20
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 21 through 30
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 31 through 40
2t
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 41 through 50
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 51 through 60
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 61 through 70
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 71 through 80
0.0000 0.0000 0.0000 0.0000 0.0001 0.0001
0.0002 0.0002 0.0004 0.0005
Columns 81 through 90
0.0008 0.0012 0.0018 0.0026 0.0039 0.0058
0.0087 0.0130 0.0194 0.0289
Columns 91 through 100
0.0431 0.0643 0.0959 0.1431 0.2135 0.3186
0.4752 0.7090 1.0577 1.5778
Column 101
2.3539
f1 =
1.0e+018 *
Columns 1 through 10
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 11 through 20
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 21 through 30
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 31 through 40
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 41 through 50
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 51 through 60
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 61 through 70
0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.0000 0.0000 0.0000 0.0000
Columns 71 through 80
0.0000 0.0000 0.0000 0.0000 0.0001 0.0001
0.0002 0.0002 0.0004 0.0005
Columns 81 through 90
0.0008 0.0012 0.0018 0.0026 0.0039 0.0058
0.0087 0.0130 0.0194 0.0289
Columns 91 through 100
0.0431 0.0643 0.0959 0.1431 0.2135 0.3186
0.4752 0.7090 1.0577 1.5778
Column 101
2.3539
1
12.创建三维数组a,第一页为
3
数组b为3行、2列、2页。
a=[1 2;3 4];
a(:,:,2)=[1 2;2 1];
a(:,:,3)=[1 2;2 2]
b=reshape(a,3,2,2)
a(:,:,1) =
1 2
3 4
a(:,:,2) =
1 2
2 1
a(:,:,3) =
1 2
2 2
b(:,:,1) =
1 4
3 1
2 2
b(:,:,2) =
2 2
1 2
1 2
2
1
,第二页为
4
2
2
1
,第三页为
1
2
2
,重排生成
2
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.6570 0.9894 0.4121
1
14.输入数组
a4
7
疏矩阵,是否是字符型。
2
5
8
3
6
,使用数组信息获取函数得出行列数,元素个数,是否是稀
9
a=reshape(1:9,3,3);a=a'
size(a)
numel(a)
issparse(a)
ischar(a)
a =
1 2 3
4 5 6
7 8 9
ans =
3 3
ans =
9
ans =
0
ans =
0
从最后两条命令运行的结果可知,数组a既不是稀疏矩阵,也不是字符型。
15.两个多项式
a(x)5x4x3x2x1
,
b(x)3x1
,计算
4322
c(x)a(x)b(x)
,并计算c(x)的根。当x=2时,计算c(x)的值;将
b(x)/a(x)
进行部分分式
展开。
a=[5 4 3 2 1];
b=[3 0 1];
c=conv(a,b)
roots(c)
polyval(c,2)
[r,p,k]=residue(b,a)
c =
15 12 14 10 6 2 1
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,计算多项式
y5x4x3x2x1
的值,并根据x和y进行二阶、
三阶和四阶拟合。
p=[5 4 3 2 1];
x=0:20;
px=polyval(p,x)
p2=polyfit(x,px,2)
p3=polyfit(x,px,3)
p4=polyfit(x,px,4)
px =
Columns 1 through 9
1 15 129 547 1593
3711 7465 13539 22737
Columns 10 through 18
35983 54321 78915 111049 152127
203673 267331 344865 438159
Columns 19 through 21
549217 680163 833241
p2 =
1.0e+004 *
0.3591 -3.7132 6.1463
p3 =
432
1.0e+004 *
0.0204 -0.2529 1.0645 -0.8305
p4 =
5.0000 4.0000 3.0000 2.0000 1.0000
17..求如下行列式的值。要求:通过构造三阶、四阶、五阶行列式计算其结果,观察其中规
律,写出n阶行列式的通式。
1
2
2
2
2
2
2
2
2
2
n1
2
2
2
2
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
2 2 -2
2 2 3
ans =
30
A4 =
1 -2 -2 -2
2 2 -2 -2
2 2 3 -2
2 2 2 4
ans =
180
A5 =
1 -2 -2 -2 -2
2 2 -2 -2 -2
2 2 3 -2 -2
2 2 2 4 -2
2 2 2 2 5
ans =
1260
根据A3=30、A4=180、A5=1260可以归纳推理得到
A
n
(n2)!
18.根据线性代数方法,求一个正交变换将二次型
f2x
1
3x
2
3x
3
4x
2
x
3
化为标准
型。要求:不准使用MATLAB自带的函数,而应该通过求二次型系数矩阵特征值及其特征向
222
量并正交化的方法求出正交矩阵。
解:将二次型写为矩阵形式
200
x
1
f
x
1
x
2
x
3
032
x
T
T
2
xAx
,其中
x
x
1
023
x
3
矩阵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
2
x
2
x
,
A
3
0
0
00
32
23
0.8165
-0.4082
因此变换矩阵为
P=[p1,p2,p3]
P =
-0.2320 0.7858 -0.4082
-0.5253 0.0868 0.8165
-0.8187 -0.6123 -0.4082
P^(-1)*A*P
ans =
16.1168 0.0000 0.0000
0.0000 -1.1168 0.0000
0.0000 -0.0000 -0.0000
下面用MATLAB自带的函数进行检验:
[V,D]=eig(A)
V =
-0.2320 -0.7858 0.4082
-0.5253 -0.0868 -0.8165
-0.8187 0.6123 0.4082
D =
16.1168 0 0
0 -1.1168 0
0 0 -0.0000
因此二次型的标准型为
f16.1168y
1
1.1168y
2
22