Matlab学习笔记二.docx

上传人:b****7 文档编号:10792531 上传时间:2023-02-22 格式:DOCX 页数:21 大小:18.64KB
下载 相关 举报
Matlab学习笔记二.docx_第1页
第1页 / 共21页
Matlab学习笔记二.docx_第2页
第2页 / 共21页
Matlab学习笔记二.docx_第3页
第3页 / 共21页
Matlab学习笔记二.docx_第4页
第4页 / 共21页
Matlab学习笔记二.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

Matlab学习笔记二.docx

《Matlab学习笔记二.docx》由会员分享,可在线阅读,更多相关《Matlab学习笔记二.docx(21页珍藏版)》请在冰豆网上搜索。

Matlab学习笔记二.docx

Matlab学习笔记二

Matlab学习笔记二

26.%例3-19块状复制函数repmat

>>A=eye

(2)

repmat(A,3,3)

A=

10

01

ans=

101010

010101

101010

010101

101010

010101

27.逻辑索引

>>A=rand(5)

A=

0.95010.76210.61540.40570.0579

0.23110.45650.79190.93550.3529

0.60680.01850.92180.91690.8132

0.48600.82140.73820.41030.0099

0.89130.44470.17630.89360.1389

>>B=A>0.8

B=

10000

00010

00111

01000

10010

>>A(B)=0

A=

00.76210.61540.40570.0579

0.23110.45650.791900.3529

0.60680.0185000

0.486000.73820.41030.0099

00.44470.176300.1389

28.数组数据类型测试函数

>>A=[12;35]

isnumeric(A)%返回Boolean值,指出表达式的运算结果是否为数字。

isreal(A)%isreal判断是不是实数

isfloat(A)

isinteger(A)

ischar(A)

A=

12

35

ans=

1

ans=

1

ans=

1

ans=

0

ans=

0

29.数组裁剪

A=magic(8)

A(1:

2:

5,3:

7)%提取数组A的1、3、5行,3到7列

A(2,:

)%提取数组A第2行所有元素

A(:

3:

2:

7)%提取数组A第3、5、7列所有元素

A([321],[658])%提取第3、2、1行的第6、5、8列元素

A(50:

60)%单下标索引裁减数组,提取第50到60号元素

30.数组查找函数find

>>A=rand(3,5)

A>0.3

A<0.5

(A>0.3)&(A<0.5)

A=

0.20280.27220.74680.46600.5252

0.19870.19880.44510.41860.2026

0.60380.01530.93180.84620.6721

ans=

00111

00110

10111

ans=

11010

11111

01000

ans=

00010

00110

00000

%find逻辑数组中的非零元素,返回符合关系的元素索引

>>find((A>0.3)&(A<0.5))

ans=

8

10

11

%实现元素访问

>>A(find((A>0.3)&(A<0.5)))

ans=

0.4451

0.4660

0.4186

31.数组排序

>>A=rand(1,8)

[B,I]=sort(A,'descend')

A=

0.83810.01960.68130.37950.83180.50280.70950.4289

B=

0.83810.83180.70950.68130.50280.42890.37950.0196%降序排序结果

I=

15736842%矩阵元素索引

>>A(I)

ans=

0.83810.83180.70950.68130.50280.42890.37950.0196

%对每一列进行升序排序

>>C=rand(3,6)

sort(C)

C=

0.30460.68220.15090.86000.49660.6449

0.18970.30280.69790.85370.89980.8180

0.19340.54170.37840.59360.82160.6602

ans=

0.18970.30280.15090.59360.49660.6449

0.19340.54170.37840.85370.82160.6602

0.30460.68220.69790.86000.89980.8180

%指定对每一行进行升序排序,并返回排序后各元素的列号

>>[D,I]=sort(C,2)%2代表按行排序,默认是升序

D=

0.15090.30460.49660.64490.68220.8600

0.18970.30280.69790.81800.85370.8998

0.19340.37840.54170.59360.66020.8216

I=

315624

123645

132465

%对二维数组不能通过sort返回的单下标索引产生排序的数组

>>C(I)

ans=

0.19340.30460.30280.54170.18970.6822

0.30460.18970.19340.54170.68220.3028

0.30460.19340.18970.68220.54170.3028

32.矩阵除法

>>A=[356;214;256]

B=randn(3)

A/B

A*inv(B)

A\B

pinv(A)*B

A=

356

214

256

B=

-0.43260.28771.1892

-1.6656-1.1465-0.0376

0.12531.19090.3273

ans=

4.9369-3.08030.0406

3.9586-2.4124-2.4389

4.7620-2.38060.7564

ans=

4.9369-3.08030.0406

3.9586-2.4124-2.4389

4.7620-2.38060.7564

ans=

-0.5579-0.90320.8619

0.59020.57350.3559

-0.28500.0216-0.5293

ans=

-0.5579-0.90320.8619

0.59020.57350.3559

-0.28500.0216-0.5293

33.数组大小

>>A=[]

size(A)

B=[12345]

length(B)

size(B)

size(B')

C=[1:

5;2:

6]

size(C)

length(C)

numel(C)

A=

[]

ans=

00

B=

12345

ans=

5

ans=

15

ans=

51

C=

12345

23456

ans=

25

ans=

5

ans=

10

34.数组的内存占用

>>A=[325]

whos

A=

325

NameSizeBytesClass

A1x324doublearray

Grandtotalis3elementsusing24bytes

35.数组结构测试函数

>>A=32

isscalar(A)%标量

B=1:

5

isvector(B)%向量

isempty(B)

B=[]

isempty(B)

A=

32

ans=

1

B=

12345

ans=

1

ans=

0

B=

[]

ans=

1

36.数组维度

>>A=[]

ndims(A)

B=2

ndims(B)

C=1:

5

ndims(C)

D=[12;21]

ndims(D)

A=

[]

ans=

2

B=

2

ans=

2

C=

12345

ans=

2

D=

12

21

ans=

2

37.数组元素的索引与寻址

A=[4256;3170;12457823]%创建数组

A(2,3)%双下标索引访问数组第2行第3列元素

A

(2)%单下标索引访问数组第2个元素(即第2行第1列)

A(7)%单下标索引访问数组第7个元素(即第1行第3列)

A(3:

5)%单下标索引访问数组第3到5位的元素(即第1列第3行和第2列第1、2行)

A(2,1:

4)%双下标索引访问数组第2行,第1到4列的元素

A([3,1],2)%双下标索引访问数组第3、第1行,第2列的元素

A([3,1],[2,1])%双下标索引访问数组第3、第1行,第2、第1列的元素

A(7)=100%对数组第7个元素(即第1行第3列)重新赋值

38.数组元素删除

A=magic(7)

A(1:

3:

8,:

)=[]

A(:

[356])=[]

39.数组运算函数

A=magic(4)

sqrt(A)

sqrtm(A)

exp(A)

expm(A)

40.索引扩展

>>A=eye(3)

A(4,6)=25%索引扩展

A(5,2)=3%索引扩展

A(5,5)=10%索引寻址修改零元素

A=

100

010

001

A=

100000

010000

001000

0000025

A=

100000

010000

001000

0000025

030000

A=

100000

010000

001000

0000025

0300100

41.通过cat函数扩展数组

A=rand(3,5)

B=eye(3)

C=magic(5)

cat(1,A,B)%列数不同,不能垂直连接

cat(2,A,B)%行数相同,可以水平连接

cat(1,A,C)%列数相同,可以垂直连接

cat(2,A,C)%行数不同,不能水平连接

>>cat(2,A,B)%行数相同,可以水平连接

ans=

0.95010.48600.45650.44470.92181.000000

0.23110.89130.01850.61540.738201.00000

0.60680.76210.82140.79190.1763001.0000

cat(1,A,C)%列数相同,可以垂直连接

ans=

0.95010.48600.45650.44470.9218

0.23110.89130.01850.61540.7382

0.60680.76210.82140.79190.1763

17.000024.00001.00008.000015.0000

23.00005.00007.000014.000016.0000

4.00006.000013.000020.000022.0000

10.000012.000019.000021.00003.0000

11.000018.000025.00002.00009.0000

>>horzcat(A,B)

ans=

0.95010.48600.45650.44470.92181.000000

0.23110.89130.01850.61540.738201.00000

0.60680.76210.82140.79190.1763001.0000

>>vertcat(A,C)

ans=

0.95010.48600.45650.44470.9218

0.23110.89130.01850.61540.7382

0.60680.76210.82140.79190.1763

17.000024.00001.00008.000015.0000

23.00005.00007.000014.000016.0000

4.00006.000013.000020.000022.0000

10.000012.000019.000021.00003.0000

11.000018.000025.00002.00009.0000

42.%转置

>>B=[2-i,3+4i,2,5i;6+i,4-i,2i,7]

B'

ctranspose(B)%转置

B=

2.0000-1.0000i3.0000+4.0000i2.00000+5.0000i

6.0000+1.0000i4.0000-1.0000i0+2.0000i7.0000

ans=

2.0000+1.0000i6.0000-1.0000i

3.0000-4.0000i4.0000+1.0000i

2.00000-2.0000i

0-5.0000i7.0000

ans=

2.0000+1.0000i6.0000-1.0000i

3.0000-4.0000i4.0000+1.0000i

2.00000-2.0000i

0-5.0000i7.0000

43.矩阵的特征值和特征向量

在MATLAB中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有5种:

(1)E=eig(A):

求矩阵A的全部特征值,构成向量E。

(2)[V,D]=eig(A):

求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量。

(3)[V,D]=eig(A,'nobalance'):

与第2种格式类似,但第2种格式中先对A作相似变换后求矩阵A的特征值和特征向量,

而格式3直接求矩阵A的特征值和特征向量。

(4)E=eig(A,B):

由eig(A,B)返回N×N阶方阵A和B的N个广义特征值,构成向量E。

(5)[V,D]=eig(A,B):

由eig(A,B)返回方阵A和B的N个广义特征值,构成N×N阶对

角阵D,其对角线上的N个元素即为相应的广义特征值,同时将返回相应的特征向

量构成N×N阶满秩矩阵,且满足AV=BVD

>>A=[122;268;2813]

eig(A)

A=

122

268

2813

ans=

0.0859

1.2477

18.6664

44.Cholesky分解

>>A=[122;268;2813]

R=chol(A)

R'*R

A=

122

268

2813

R=

1.00002.00002.0000

01.41422.8284

001.0000

ans=

122

268

2813

45.LU分解

>>A=rand(3)

[L,U]=lu(A)

L*U

[L,U,P]=lu(A)

A=

0.40570.41030.3529

0.93550.89360.8132

0.91690.05790.0099

L=

0.4337-0.02781.0000

1.000000

0.98021.00000

U=

0.93550.89360.8132

0-0.8180-0.7872

00-0.0216

ans=

0.40570.41030.3529

0.93550.89360.8132

0.91690.05790.0099

L=

1.000000

0.98021.00000

0.4337-0.02781.0000

U=

0.93550.89360.8132

0-0.8180-0.7872

00-0.0216

P=

010

001

100

46.QR分解

A=rand(3)

[Q,R]=qr(A)

Q'*Q

Q*R

B=rand(2,4)

[QQ,RR]=qr(B)

QQ*QQ'

QQ*RR

47.对角元素操作

>>A=rand(3)

diag(A)

trace(A)

sum(diag(A))

A=

0.13890.60380.0153

0.20280.27220.7468

0.19870.19880.4451

ans=

0.1389

0.2722

0.4451

ans=

0.8562

ans=

0.8562

>>tril(A,0)

ans=

0.138900

0.20280.27220

0.19870.19880.4451

>>tril(A,1)

ans=

0.13890.60380

0.20280.27220.7468

0.19870.19880.4451

>>tril(A,2)

ans=

0.13890.60380.0153

0.20280.27220.7468

0.19870.19880.4451

48.矩阵的标准正交基

A=rand(3)

B=orth(A)

B'*B

A=

0.53410.83850.7027

0.72710.56810.5466

0.30930.37040.4449

B=

-0.69790.6002-0.3907

-0.6098-0.7841-0.1153

-0.37560.15770.9133

ans=

1.00000.0000-0.0000

0.00001.00000.0000

-0.00000.00001.0000

49.矩阵的范数和条件数

norm(magic(3))

norm(inv(magic(3)))

cond(magic(3))

cond(inv(magic(3)))

cond(zeros(3,3))

ans=

15

ans=

0.2887

ans=

4.3301

ans=

4.3301

ans=

Inf

50.矩阵的特征值、特征向量和特征多项式

>>A=rand(3,3)

d=eig(A)

[V,D]=eig(A)

A*V

V*D

roots(poly(A))

A=

0.69460.95680.1730

0.62130.52260.9797

0.79480.88010.2714

d=

1.9726

-0.1728

-0.3112

V=

-0.5399-0.74020.6566

-0.61770.6724-0.7267

-0.5718-0.00790.2020

D=

1.972600

0-0.17280

00-0.3112

ans=

-1.06490.1279-0.2043

-1.2185-0.11620.2261

-1.12800.0014-0.0629

ans=

-1.06490.1279-0.2043

-1.2185-0.11620.2261

-1.12800.0014-0.0629

ans=

1.9726

-0.3112

-0.1728

51.矩阵的秩

>>rank(magic(3))

rank(eye(5))

rank(zeros(2,4))

ans=

3

ans=

5

ans=

0

52.矩阵行列式

A=magic(3)

det(A)

A=

816

357

492

ans=

-360

53.稀疏矩阵的创建

A=(rand(20)>0.99);

S=sparse(A)

whos

S=

(20,2)1

(13,6)1

(11,11)1

NameSizeBytesClass

A20x20400logicalarray

B3x372doublearray

C4x396doublearray

D3x372doublearray

L3x372doublearray

P3x372doublearray

R3x372doublearray

S20x2099logicalarray(sparse)

U3x372doublearray

V3x372doublearray

a3x124doublearray

ans1x18doublearray

b2x116doublearray

c4x132doublearray

d3x124doublearray

x3x124doublearray

Grandtotalis494elementsusing1227bytes

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1