MATLAB示例.docx

上传人:b****5 文档编号:8202987 上传时间:2023-01-29 格式:DOCX 页数:27 大小:52.51KB
下载 相关 举报
MATLAB示例.docx_第1页
第1页 / 共27页
MATLAB示例.docx_第2页
第2页 / 共27页
MATLAB示例.docx_第3页
第3页 / 共27页
MATLAB示例.docx_第4页
第4页 / 共27页
MATLAB示例.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

MATLAB示例.docx

《MATLAB示例.docx》由会员分享,可在线阅读,更多相关《MATLAB示例.docx(27页珍藏版)》请在冰豆网上搜索。

MATLAB示例.docx

MATLAB示例

目录

1矩阵基础3

1.1创建矩阵3

1.1.1直接输入法3

1.1.2构造序列3

1.1.3函数构造法3

1.2获取矩阵信息5

1.3矩阵元素的访问5

1.3.1利用下标访问5

1.3.2利用逻辑矩阵访问6

1.4矩阵拼接、变形,改变大小7

1.4.1矩阵拼接7

1.4.2矩阵变形8

1.4.3矩阵90度旋转9

1.4.4矩阵翻转9

1.4.5矩阵转置10

1.4.6矩阵扩容10

1.4.7矩阵收缩11

1.4.8矩阵复制11

1.5简单数据处理12

1.5.1元素的和与积12

1.5.2平均值和中位数13

1.5.3最大最小值14

1.5.4累计求和、积15

1.5.5矩阵排序15

2MATLAB运算符16

2.1算术运算符16

2.1.1加、减法[M×N]±[M×N],[M×N]±a16

2.1.2数组乘法[M×N].*[M×N],[M×N].*a17

2.1.3数组除法[M×N]./[M×N],[M×N].\[M×N],[M×N]./a,[M×N].\a17

2.1.4数组乘方[M×N].^[M×N],a.^[M×N],[M×N].^a18

2.1.5矩阵乘法[M×N]*[N×M],[M×N]*a18

2.1.6矩阵乘方[M×M]^a19

2.1.7线性方程求解[M×N]\[M×1],[1×M]/[N×M]19

2.2关系运算符20

2.3逻辑运算符20

3MATLAB数值计算21

3.1多项式计算21

3.1.1多项式的根与系数21

3.1.2多项式求值21

3.1.3多项式导数21

3.1.4多项式乘法和除法22

3.1.5部分分式分解22

3.2数值积分23

3.3代数方程数值解24

3.3.1一元非线性方程24

3.3.2多元非线性方程及方程组24

1矩阵基础

1.1创建矩阵

1.1.1直接输入法

x=[123]

y=[123;456]

x=

123

y=

123

456

1.1.2构造序列

A=0:

0.1:

1

B=linspace(0,1,10)

A=

Columns1through6

00.10000.20000.30000.40000.5000

Columns7through11

0.60000.70000.80000.90001.0000

B=

Columns1through6

00.11110.22220.33330.44440.5556

Columns7through10

0.66670.77780.88891.0000

1.1.3函数构造法

x=eye(3),y=eye(2,4)%单位矩阵

x=

100

010

001

y=

1000

0100

x=rand(3),y=rand(2,4)%随机矩阵

x=

0.91570.65570.9340

0.79220.03570.6787

0.95950.84910.7577

y=

0.74310.65550.70600.2769

0.39220.17120.03180.0462

x=zeros(3),y=zeros(2,4)%全0矩阵

x=

000

000

000

y=

0000

0000

x=ones(3),y=ones(2,4)%全1矩阵

x=

111

111

111

y=

1111

1111

x=[13568]

A=diag(x)%对角矩阵

x=

13568

A=

10000

03000

00500

00060

00008

1.2获取矩阵信息

x=1:

10;

A=ones(4);

L=length(x)%获取向量长度

[m,n]=size(A)%获取矩阵各维大小

N=numel(A)%获取矩阵元素个数

L=

10

m=

4

n=

4

N=

16

1.3矩阵元素的访问

1.3.1利用下标访问

A=[1:

4;5:

8;9:

12;13:

16]

x=A(3,2)%单个元素访问方式1

y=A(7)%单个元素访问方式2

A=

1234

5678

9101112

13141516

x=

10

y=

10

A=[1:

4;5:

8;9:

12;13:

16]

x=A(2:

3,3:

4)%子阵访问1

y=A([2:

3;3:

4])%子阵访问2

A=

1234

5678

9101112

13141516

x=

78

1112

y=

59

913

A=[1:

4;5:

8;9:

12;13:

16]

x=A(2,:

)%获取单行

y=A(:

2:

3)%获取多列

A=

1234

5678

9101112

13141516

x=

5678

y=

23

67

1011

1415

1.3.2利用逻辑矩阵访问

A=[1:

4;5:

8;9:

12;13:

16]

B=A>10

x=A(B)

A(A>10)=0

A=

1234

5678

9101112

13141516

B=

0000

0000

0011

1111

x=

13

14

11

15

12

16

A=

1234

5678

91000

0000

1.4矩阵拼接、变形,改变大小

1.4.1矩阵拼接

a=ones(3,4)

b=zeros(3,2)

c=[ab]%水平方向连接,行数一致

x=[ones(3,4);zeros(2,4)]%垂直方向连接,列数一致

a=

1111

1111

1111

b=

00

00

00

c=

111100

111100

111100

x=

1111

1111

1111

0000

0000

A=ones(4)

B=zeros(4)

C=cat(3,A,B)%三维矩阵

A=

1111

1111

1111

1111

B=

0000

0000

0000

0000

C(:

:

1)=

1111

1111

1111

1111

C(:

:

2)=

0000

0000

0000

0000

1.4.2矩阵变形

A=1:

16

B=reshape(A,2,8)%元素个数不变,保持矩形

C=reshape(A,4,4)

A=

Columns1through10

12345678910

Columns11through16

111213141516

B=

13579111315

246810121416

C=

15913

261014

371115

481216

1.4.3矩阵90度旋转

A=reshape(1:

9,3,3)

B=rot90(A,1)%逆时针

C=rot90(A,-1)%顺时针

A=

147

258

369

B=

789

456

123

C=

321

654

987

1.4.4矩阵翻转

A=reshape(1:

9,3,3)

B=fliplr(A)%左右翻转

C=flipud(A)%上下翻转

A=

147

258

369

B=

741

852

963

C=

369

258

147

1.4.5矩阵转置

A=reshape(1:

9,3,3)

B=A'%共轭转置

C=A.'

A=

147

258

369

B=

123

456

789

C=

123

456

789

1.4.6矩阵扩容

A=reshape(1:

9,3,3)

A(4,:

)=10:

12%增加第4行

A(:

4)=[10;20;30;40]%增加第4列

A=

147

258

369

A=

147

258

369

101112

A=

14710

25820

36930

10111240

1.4.7矩阵收缩

A=reshape(1:

16,4,4)

A(2,:

)=[]%删除第2行

A(:

3)=[]%再删除第3列

A=

15913

261014

371115

481216

A=

15913

371115

481216

A=

1513

3715

4816

1.4.8矩阵复制

A=reshape(1:

4,2,2)

B=repmat(A,2,3)

A=

13

24

B=

131313

242424

131313

242424

1.5简单数据处理

1.5.1元素的和与积

x=1:

10

y=reshape(1:

9,3,3)

a=sum(x)

b=sum(y)%对每一列求和

c=sum(y,2)%对每一行求和

x=

12345678910

y=

147

258

369

a=

55

b=

61524

c=

12

15

18

x=1:

10

y=reshape(1:

9,3,3)

a=prod(x)

b=prod(y)%对每一列求积

c=prod(y,2)%对每一行求积

x=

12345678910

y=

147

258

369

a=

3628800

b=

6120504

c=

28

80

162

1.5.2平均值和中位数

x=[1256789]

y=[125;237;6811]

a=mean(x)

b=mean(y)%每一列平均值

c=mean(y,2)%每一行平均值

x=

1256789

y=

125

237

6811

a=

5.4286

b=

3.00004.33337.6667

c=

2.6667

4.0000

8.3333

x=[1256789]

y=[125;782;6311]

a=median(x)

b=median(y)%每一列的中位值

c=median(y,2)%每一行中位

x=

1256789

y=

125

782

6311

a=

6

b=

635

c=

2

7

6

1.5.3最大最小值

x=1:

10

y=reshape(1:

9,3,3)

a=max(x)%最小值用min

b=max(y)%每一列的最大值

c=max(y,[],2)%每一行最大值,空矩阵不能少

x=

12345678910

y=

147

258

369

a=

10

b=

369

c=

7

8

9

1.5.4累计求和、积

x=[1:

3;4:

6;8:

10]

a=cumsum(x)%累计和;累计求积用cumprod

b=cumsum(x,2)

x=

123

456

8910

a=

123

579

131619

b=

136

4915

81727

1.5.5矩阵排序

x=[821;283;917]

sort(x)

[y,k]=sort(x,2,'descend')

x=

821

283

917

ans=

211

823

987

y=

821

832

971

k=

123

231

132

x=[821;283;917]

y=sortrows(x,1)%以行为单位,按指定的列排序

x=

821

283

917

y=

283

821

917

2MATLAB运算符

2.1算术运算符

2.1.1加、减法[M×N]±[M×N],[M×N]±a

A=[1:

3;4:

6],B=ones(2,3)

C=A+B,D=A-B,E=D+2%同维矩阵,对应元素相加

A=

123

456

B=

111

111

C=

234

567

D=

012

345

E=

234

567

2.1.2数组乘法[M×N].*[M×N],[M×N].*a

A=[1:

3;4:

6],B=[111;222]

C=A.*B,D=C*3%同维矩阵,对应元素相乘

A=

123

456

B=

111

222

C=

123

81012

D=

369

243036

2.1.3数组除法[M×N]./[M×N],[M×N].\[M×N],[M×N]./a,[M×N].\a

A=[1:

3;4:

6],B=[111;222]

C=A./B,D=A.\B%同维矩阵,对应元素相除;想象成杠杆撬动,上面是被除数

E=A./2,F=2./A

A=

123

456

B=

111

222

C=

1.00002.00003.0000

2.00002.50003.0000

D=

1.00000.50000.3333

0.50000.40000.3333

E=

0.50001.00001.5000

2.00002.50003.0000

F=

2.00001.00000.6667

0.50000.40000.3333

2.1.4数组乘方[M×N].^[M×N],a.^[M×N],[M×N].^a

A=[1:

3;4:

6],B=[111;222]

C=A.^B,D=2.^A,E=A.^2

A=

123

456

B=

111

222

C=

123

162536

D=

248

163264

E=

149

162536

2.1.5矩阵乘法[M×N]*[N×M],[M×N]*a

A=[1:

3;4:

6],B=[11;22;33],C=A*B,D=A*3

A=

123

456

B=

11

22

33

C=

1414

3232

D=

369

121518

2.1.6矩阵乘方[M×M]^a

A=[1:

3;4:

6;7:

9],B=A^2

A=

123

456

789

B=

303642

668196

102126150

2.1.7线性方程求解[M×N]\[M×1],[1×M]/[N×M]

A=[122;2-1-1;11-1],b=[3;6;2],x=A\b,y=b'/A'

A=

122

2-1-1

11-1

b=

3

6

2

x=

3.0000

-0.5000

0.5000

y=

3.0000-0.50000.5000

2.2关系运算符

仅以“大于”运算为例

A=reshape(1:

6,2,3),B=2*ones(2,3),x=A>B,y=A>3

A=

135

246

B=

222

222

x=

011

011

y=

001

011

2.3逻辑运算符

仅以“与”运算为例

A=reshape(1:

6,2,3)-3,B=[111;000]

x=A&B,y=A&0

A=

-202

-113

B=

111

000

x=

101

000

y=

000

000

3MATLAB数值计算

3.1多项式计算

3.1.1多项式的根与系数

p=[1-611-6],x=roots(p)%求x^3-6x^2+11x-6=0的根

q=poly(x),poly2str(q,'a')%由根确定多项式系数

p=

1-611-6

x=

3.0000

2.0000

1.0000

q=

1.0000-6.000011.0000-6.0000

ans=

a^3-6a^2+11a-6

3.1.2多项式求值

%求f(x)=x^4+4x^3+5x^2+7x-3在x=2.6的值

f=polyval([1457-3],2.6)

f=

165.0016

3.1.3多项式导数

c=[1457-3],fc=poly2str(c,'x')

d=polyder(c),fd=poly2str(d,'x')

c=

1457-3

fc=

x^4+4x^3+5x^2+7x-3

d=

412107

fd=

4x^3+12x^2+10x+7

3.1.4多项式乘法和除法

a=[123],b=[456],c=conv(a,b)

[d,e]=deconv(c,[1,2])%d为商式,e为余式

a=

123

b=

456

c=

413282718

d=

4518-9

e=

000036

3.1.5部分分式分解

对以下分式多项式进行部分分式分解:

b=[-48];

a=[168];

[r,p,k]=residue(b,a)

r=%分子系数

-12

8

p=%极点

-4

-2

k=%余子式

[]

3.2数值积分

建立objfun.m函数

functiony=objfun(x)

y=sin(x)-x;

f=quad(@objfun,0,pi)

g=quadl(@objfun,0,pi)

f=

-2.9348

g=

-2.9348

建立objfun.m函数

functiony=objfun(x,beta)

y=sin(x+(0:

pi/6:

beta);

y=quadv(@(x)objfun(x,pi),0,pi)

y=

2.00001.73211.00000.0000-1.0000-1.7321-2.0000

建立objfun.m函数

functionz=objfun(x,y)

z=x.^2+y.^2;

F=dblquad(@objfun,0,4,0,4)

F=

170.6667

建立objfun.m函数

functionf=objfun(x,y,z)

f=y*sin(x)+z*cos(x);

F=triplequad(@objfun,0,pi,0,1,-1,1)

F=

2.0000

3.3代数方程数值解

3.3.1一元非线性方程

求解:

在3附近的解。

建立objfun.m函数

functionf=objfun(x)

f=sin(x)-cos(x).^2;

x=fzero(@objfun,3)

x=

2.4754

3.3.2多元非线性方程及方程组

求解:

,在(2,2)附近的解

建立objfun.m函数

functionf=objfun(x)

f=x

(1).^2+x

(2).^2-5;

x=fsolve(@objfun,[2,2])

Warning:

Trust-region-doglegalgorithmofFSOLVEcannothandlenon-squaresystems;usingLevenberg-Marquardtalgorithminstead.

>Infsolveat324

Optimizationterminated:

thefirst-orderoptimalitymeasureislessthan1e-

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

当前位置:首页 > PPT模板 > 其它模板

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

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