MATLAB学习复习总结_第1页
MATLAB学习复习总结_第2页
MATLAB学习复习总结_第3页
MATLAB学习复习总结_第4页
MATLAB学习复习总结_第5页
已阅读5页,还剩76页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

MATLAB简介

MATLAB为matrixlaboratory矩阵实验室的的缩写。

应用:

矩阵运算,绘制函数和数据,实现算法,创建用户界面,连接其他编

程语言的程序,工程计算,控制设计,信号处理,通讯,图像处理,

信号检测等。

MATLAB界面:

基础篇

第一节变量与赋值

MATLAB变量命名规则:

1)第一个字符必须为英文字母。

2)长度不能超过31个字符。

3)可以包含连字符和数字,但不包含空格符、标点和井号键。

4)不能使用MATLAB中预定义的变量。

注:MATLAB中预定义的变量

预定义变量名注释

ans计算结果的变量名

eps定义正的极小值2.2204e-16

pi定义口的变量名

inf定义8的变量名

nan无法定义

1或J定义虚数单位

注:X*e*a等价于X*10,

例题:

命令行窗口

1)在命令窗口输入5+9,并按回

»5+9

车;在命令窗口输入a=5+9,并ans=

按回车。观察二者的不同。14

>>a=5+9

a=

14

命令行雷口

2)苹果3元一斤,香蕉2元一斤,

»apple=5:

买5斤苹果和7斤香蕉共需多少»banana:::

»total=3*app1e+2*banana

钱?

total=

29

程序中的分号';'表示命令会执行,但不

会在工作窗口显示。

3)小明有100元,买了6本10台的口

»book=10:

元的书和5支7元的笔还剩多少»pen=7:

»surplus=100-6*book-5*pen

钱?

surplus=

5

第二节最大值与最小值函数

最大值函数;

max(x)输出向量x中的最大值。

[y,i]=max(x)将向量x中的最大值赋给y,将最大值的序号赋值给i,并输出。

min(x)输出x向量中的最小值。

[y,i]=min(x)将向量x中的最小值赋给y,将最小值的序号赋值给i,并输出。

例题:

找出23、45、12、56、34中的最大值、最小值及其序号。

命令行窗口»min(x)

»x=[23,45,12,56,34];%各元素间可以用逗号或空格隔开

»max(x)ans=

ans=12

56»[n?j]=min(x)

»[y,i]=max(x)n=

y=12

56

j=

1=3

4

第三节向量及其应用

向量的输入方法:

1)直接输入法:

输入行向量时,向量与向量之间用逗号','或者空格分开。

输入列向量时,向量与向量之间用分号‘;‘隔开。

命令行窗口瞪的口

»x=[l234]»x=[l;2;3]

12341

2

»x=[l,2,3,4]3

x=

1234

2)冒号表示法:

格式X_start:AX:X_end

X_start起始值

△X增量(当增量为1时可以省略)

X_end结束量

3)线性等分法:

格式1inspace(int_start,int_end,n)

int_start等分区间的起始值

int_end等分区间的结束值

n等分个数

例题:

建立一个向量x,x的元素是在区间[1,5]中线性等分的8个点。

命令行窗口

»x=linspace(1,5,8)

x=

1.00001.57142.14292.71433.28573.85714.42865.0000

向量的长度:

格式length(x)

例题:查看向量x=[2,3,4,5,7]的长度。

命令行窗口

»x=[2,3,4,5,7]:

»length(x)

ans

5

第四节向量的运算

1)向量的四则运算

例题:

已知X=[2,3,5,6],Y=[l,3,2,4]求X+Y,X-Y,X*Y,X/Y

命令行窗口

»X=[2,3,5,6]:

»Y=[l,3,2,4];prod=

»SUM=X+Y

291024

SUM=

»quot=X./Y

36710

quot=

»diff=X-Y

2.00001.00002.50001.5000

diff=

1032

注:在向量或矩阵乘、除、幕运算、开方等计算中运算符前应加点

2)向量的幕运算

向量的幕运算常用L'来进行(shift+6)。

例题:

已知A=[L2,3,4],求A的4次塞A,

命令行窗口

»A=[l,2,3,4]:

»A_power4=A."4

A_power4=

11681256

3)向量的开方

向量的开方可以写成幕的形式,仅将幕处改为分数即可。

例题:

已知b=[4,9,25],求b的开平方和开三次方。

命令行窗口

»b=[4,9,25];

»b_SquareRoot=b.*(1/2)

b_SquareRoot=

235

>>b_CubeRoot=b.*(1/3)

b_CubeRoot=

1.58742.08012.9240

注:求平方也可用sqrt(x)函数,x为被开方数。

命令行窗口

»b=[4,9,25]:

>>b_SqureRoot=sqrt(b)

b_SqureRoot=

235

4)向量的转置

向量的转置就是在中括号右上角加撇(□')

例题:

命令行窗口

>>X=[l,2,3]*

1

2

3

第五节矩阵

矩阵定义:

矩阵是一个有m行n列排列成的矩形阵列。

矩阵用途:

数学类:高等代数、统计分析等。

物理类:电路学、力学、光学、量子物理。

计算机科学:三维动画制作、数值分析等。

输入格式:

1)矩阵元素必须在口内。

2)矩阵的同行元素之间用空格或逗号隔开。

3)矩阵的行与行之间用分号或回车符号隔开。

4)同一行写不下时可在行后加三个点,再换行。

例题:

获取矩阵尺寸:

格式:size(x)

命令行窗口

»x=[l23;456]

x=

123

456

»size(x)

ans=

23注:2行3列

特殊矩阵:

1)全1矩阵

ones(n)nXn的全1矩阵

ones(m,n)mXn的全1矩阵

2)全0矩阵

zeros(n)nXn的全0矩阵

zeros(m,n)mXn的全。矩阵

3)单位矩阵

eye(n)nXn的单位矩阵

eye(m,n)mXn的单位矩阵

:一M■j三二

»ones(3)»ones(2,3)

ans=

ans=

111

111111

111111

命令行窗口命令行窗口

»zeros(3)»zeros(2,3)

ans=

ans=

000

000000

000000

粉的口命令行窗口

»eye(3)»eye(2,3)

ans=

ans=

100

010100

001010

第六节矩阵运算

矩阵中的元素而表示在矩阵中元素位于i行j歹限

提取/编辑矩阵中的单个元素:

格式:

矩阵名(i,j)

例题:

已知矩阵a=[l,2,3,4;5,6,7,8;2,4,5,7]提取矩阵中a23这个

元素,并将其赋值为9。

六的口ans

»a=[l,2,3,4:5,6,7,8;2,4,5,7]

a

»a(2,3)=9

234

568a

245

1234

»a(2,3)5698

245

提取/编辑矩阵中的整行(列)元素:

格式:

矩阵名(i,:)提取第i行的全部元素

矩阵名(:,j)提取第j列的全部元素

例题:

提取a=[l,2,3,4;5,6,7,8;3,6,9,0]中第二行全部元素,并将其赋予

新值[2,4,6,8]

命令行窗口

»a=[l,2,3,4:5,6,7,8:3,6,9,0]

»a(2,:)=[2,4,6,8]

1234

a—

5678

3690

1234

2468

»a(2,:)3690

矩阵的四则运算:

在进行矩阵的加减计算时,则两矩阵的维数必须相同。

例题:

加减运算为对应元素相加减(与向量中的加减运算法则相同)。

命令行窗口

»a=[l,2,3;4,5,6]>>sum=a+b

a=sum=

123258

4566912

»b=[l,3,5:2,4,6]»diff=a-b

b=diff=

1350-1-2

246210

矩阵的乘法:(行乘列再相加)

命令行窗口b=

»a=[1,2,3;2h6]

234

541

a=689

123

246

»b=[2,33:5,4,1:6,8,9]303533

607066

矩阵的数乘:

标量c分别与矩阵a中的元素相城

命令行窗口

»a=[l,2,3,4;5,6,7,8]

124

568

»c=3;

»ca=c*a

ca=

36912

15182124

第七节矩阵的分析

矩阵的转置与旋转:

转置:运算符为单引号'

旋转:rot90(A,k)

A为矩阵名称,k为逆时针旋转90度的倍数,当k=l时-,k可以省略。

例题:

求矩阵a=[l,2,3;4,5,6]的转置,并求它旋转90度,旋转180度。

命令行窗口

»a=[l,2,3;4,5,6]»rot90(a)

ans=

I

12336

45625

14

»a'

»rot90(a,2)

ans=

ans=

14

25654

36321

矩阵的翻转:

格式:

fliplr(x)左右翻转(leftright)

flipud(x)上下翻转(updown)

例题:

求3X3矩阵a=[l,2,3;4,5,6;7,8,9]的左右翻转与上下翻转。

命令行窗口

»a=[l,2,3;4,5,6;7,8,9]321

654

a=987

123»flipud(a)

456

789ans=

»fliplr(a)789

456

ans=123

逆矩阵

对于一个方阵A,如果存在一个与其同阶的方阵B,使得AB=BA=I(I

为单位矩阵),则称B为A的逆矩阵。

格式:

inv(A)矩阵A的逆矩阵

例题:求3X3矩阵命令行窗口

»a=[l,2,3:2,2,1:3,4,3]

a=[1,2,3;2,2,1;3,4,3]的逆矩

a

阵。

123

22

343

a_ni=

1.00003.0000-2.0000

-1.5000-3.00002.5000

1.00001.0000-1.0000

伪逆矩阵

矩阵A不是一个方阵可以找到一个与A的转置矩阵A,同型的矩阵B,

使得ABA=A,BAB=B此时称矩阵B为矩阵A的伪逆,也称广义逆矩阵。

格式:pinv(a)矩阵a的伪逆矩阵

例题:

求2X3的矩阵A=[l,2,3;4,5,6]的伪逆矩阵。

命令行窗口

»A=[l,2,3:4,5,6]

A=

123

456

»B=pinv(A)

B=

-0.94440.4444

-0.11110.1111

0.7222-0.2222

命令行窗口

矩阵的秩

»a=[l,2,3;4,5,6]

矩阵线性无关的行数与列数称为

矩阵的秩。

123

456

格式:rank(x)

»rank(a)

例题:

ans

2

矩阵的迹粉的口

»a=[l,2,3;4,5,6:7,8,9]

矩阵的迹等于矩阵的对角线元素

之和,也等于矩阵的特征值之和。

123

格式:trace(x)456

789

例题:

»trace(a)

15

矩阵的特征值与特征向量

格式:eig(x)矩阵x的全部特征值

[A,B]=eig(x)

A:矩阵x的全部特征值构成的对角阵

B:矩阵x的特征向量构成的列向量

例题:

命令行窗口

»a=[l,2,3;4,5,6;7,8,9]

»[X,Y]=eig(a)

123

456-0.2320-0.78580.4082

789-0.5253-0.0868-0.8165

-0.81870.61230.4082

»eig(a)

ans=

16.116816.116800

-1.11680-1.11680

-0.000000-0.0000

方阵行列式的值

格式:det(x)

例题:

求2X2矩阵x=[2,9;l,7]的行列式的值。

命令行窗口

»x=[2,9;1,7]

x=

29

17

»det(x)

ans

5

第八节IF语句

指令含义指令含义

关系<小于==等于

运算<=小于等于不等于

>大于=赋值

>=大于等于

Z

逻辑&逻辑与逻辑非

运算逻辑或

IF语句命令格式:

类型一:

if逻辑表达式

语句组

end

类型二:

if逻辑表达式语句组2

语句组1end

else

类型三:

if逻辑表达式1

语句组1

elseif逻辑表达2

语句组2

elseif逻辑表达3

语句组3

else语句组n

end

例题:(利用编辑器,新建脚本进行写程序)

类型1

如果a=4,则b=0。

B漏期器-D:\我的文档\.命令行窗口

wl.mX]+

»wl

1-a=4];

2-ifa=4b=

3-b=0

4—end0

类型2

若a>=5,则b=2,否则b=0o

・编辑器-D:\我的文档\

wl.mX+

1-a=7;

2-ifa>=5»wl

3—b三2

4-elseb=

5-b=0

6-end|2

类型3

2XX》1

计算函数丫=J

XOWX<1

0.5XX<0

■编辑器-D:\J廓戊档\Doc.

|wl.m*x[+

1-x=5;

2-ifx>=l

命令行窗口

3-y=2*x

4—elseifx>=o|

»vl

5-y=x

6-else

y=

7-y=0.5*x

8—end

io

第九节switch-case语句

命令格式:

switch表达式(标量或字符串)

case值1

语句组1

case值2

语句组2

otherwise

语句组n

end

例题:用switch-case语句实现X,Y的对应关系。

X1234other

Y204060800

■编辑器・。:\我的文档\Documents]

|wl.mX|+

1-X=4;

2-switchX

3-case1

4-Y=20

5—case2

6-Y=40

7-case3命令行窗口

8-Y=60

»wl

9-case4

10-Y=80

Y=

11-otherwise

12-Y=0

80

13-end

第十节输入输出语句

输入语句

输入数据格式:

x=input(message;')

输入字符串格式:

x=input(imessage;,,<s,)

注:输入语句可与if语句,switch-case语句,for语句等语句连用。

命令的运行方法:在编辑器里输入命令运行后,在命令窗口的程序后

输入数据或字符串,再按回车。

例题:

输入数据格式x=5,和字符串格式y=123ABC文字

@-D:俄蚊微Documents\MATLAB\wl.m命令行窗口

>>W1

Iwl.m+

II__________________________whatisyourinputx;5

1-x=inputCwhatisyourinputx/)

x=

5

X后只可输入数字。

命令行窗口

•器-D:\Sfeft]S^\Documents\MATLAB\wLm

>>wl

wl.m+

whatisyourinputy;123ABe文字

1y=input('whatisyourinputy's')

y=

123ABe文字

y后可以输入数字、字母和文字等。

输出语句:

自由格式输出语句:disp('message')display展示陈列

例题:

/编辑器-D:\J6KXO\Documents\MATLAB\wl.m命令行窗口

|wl.m~+»W1

1-dispCHereisanapple')Hereisanapple

2%输出单个内容我会说英语

3-disp(「我'J会‘,‘说"‘英'/语’])20元|

4%输出多个内容

5-disp([num2str(20),'元’])

6%输出含数字的内容

注:后两种输出方式是采用向量形式输出。

格式化输出:

格式:fprintf(格式类型,输出内容)

格式类型

格式类型

类型格式备注

整型%d、%i十进制

无符号%u十进制

整型%o八进制

%x、%X十六进制、显示小写a-f或大写A-F

%f小数点形式

%e>%E指数形式、显示小写字母e或大写字母E

%g、%G小数点形式和指数形式的紧密形式

%bx双精度十六进制

%bo双精度八进制

浮点型%bu双精度十进制

%tx单精度十六进制

%to单精度八进制

%tu单精度十进制

%c单字符

字符型%s字符串

例题:

B-D:\^l$^\Documents\MATLAB\wLm

1-fprintfCx是%i.2fm\n,7.5)I

2-fprintfCx是%5.3fm或%7.2fmm\n',7.5,7500)»“1

3%(%4.2fj»\n)输出格式为米X是;,50n

4%f为浮点型(小数形式)xlLSOOn^:500.00

5%4.2表示数据全长为4位/

6%(.2吏示小数点后保留两位小数)

7%、\n表示输出后换行

第十一节循环语句

for循环语句:

格式:

for循环控制变量=变量范围

语句组

end

例题:

设2=为循环变量,范围为10-20,输出a的所有值。

命令行■口

>>W1

valueofa:10

■编辑器-D:\S6frKt1S\Documents\MATLAB\wl.mvalueofa:11

valueofa:12

|wl.m.[+valueofa:13

valueofa:14

1-fora=10:20valueofa:15

2-fprintfCvalueofa:%d\rf,a):valueofa:16

valueofa:17

3-enqvalueofa:18

valueofa:19

valueofa:20

例题:设定i为循环控制变量,其范围为1.5-0,步长增量为-0.5,

输出i的所有值。

■编辑器-D:\我的文档\Documents命令行窗口

wl.mX+>>vl

~JLI

1-Sfora=l.5:-0.5:0.01.5000

2-disp(a)

3-end1

0.5000

0

while循环语句

格式:

while判断条件

语句组

end

注:此处的判断条件一般为关系

运算。

例题:

从1开始每次循环变量a都将增加1,当a大于3时终止循环。

■-D:\S&«GS\Documents\MATLAB\wl.m

wl.mX+

1-a=l;命口

2-whilea<=3

3一fprintfCvalueofa:%d\n',a):»wl

4-a=a+l:valueofa:1

5-endvalueofa:2

valueofa:3

break语句:

常与判断语句连用,只能退出一层循环。

格式:

break退出该循环

例题:

从1开始,每次循环变量a都将增加1,控制变量大于4时终止循环。

■-D:\SSK5^\Documents\MATLAB\wl.m*

wl.m*X+

a=l:

2-whiletrue%此处也可用while1

命令行窗口

3-fprintf('valueofa:%d\n',a):

4一ifa>=4»wl

5-break;|valueofa:1

6—endvalueofa:2

7-a=a+l:valueofa:3

8-endvalueofa:4

continue语句

功能:跳过该语句之后的语句,继续执行下一次循环。

例题:从1开始,每次循环变量a都将增加1,控制变量大于5时终

止循环。但不输出a等于3时的值。

■器・D:\^fi^tf§\Documents\MATLAB\wl.m*

2-whilea<=5

3.ifa==3

4-a=a+l

5-continue:

6—end

7-fprintfCvalueofa:%dn\a);

8-a=a+l

9-end

循环嵌套(语句组后要加分号,条件后不加分号;把循环和嵌套分开写)

for嵌套格式while嵌套格式

fori=l:mwhile条件1

forj=l:nwhile条件2

语句组;语句组

endend

endend

例题:找出10以内的所有质数。(除了1和本身不能被其他正数整除的整数。)

命令行窗口

»wl

2

3

5

■-D:\我M5^1S\Documents\MATU

wl.mXI+

-i=2;j=2;

2—whilei<=10

3一]whilej<=10

ifjnod(i,j)==0

5break:

6end

j=j+1:

8-end

9一ifi=j

10-disp(i)

11一end

12-i=i+l:j=2:

13-

第十二节用户自定义函数

格式:

function[outl,out2,...outn]=myfun(ini,in2,in3,...,inn)

先新建函数脚本,输入函数程序,在新建脚本进行测试。在命令窗口

或工作区可以看到结果。

例题:建立一个用户自定义函数y=f(x)=2*xT

工作区

ff.m*I+

1functiony=f(x)

1-d=f(3);5

y=2*x-l;11

2-s=f(6);

end

例题:找出10以内的所有质数。

■漏辑器

LJfindPrime.m+

functionfindPrime(a)

2-dfoxi=2:a

的向口

3-forj=2:a

»te

4-ifmod(i,j)=0

2

5-break:

6-endI

3

7-end

8-ifi==j

5

9-disp(i):te.mX+

findPrime(10)|

10-end

11endA

这种方法输出的数据在工作区是没有的,仅会出现在命令窗口。

te.m1+

findPrime.m+1-prindPrime(10)

1functiony=findPrime(a)2%要定义一个则lit文件名・否贝”输出不成功。

2-产口;%给y朦一个空值

3.a

4一j=2:a

5-ifmod(i,j)=0

6-break;

7-end

8-end

9-ifi==j

10—y=[%i];

11-end

12—end

MATLAB进阶篇

(注:要生成合适尺寸的图,要将绘图的窗口缩小,

在通过编辑指令里的图形复制命令复制图形即可;论

文中所用图一般为xy坐标图可通过编辑中的轴属性

来改)

第一节二维平面图形

plot函数格式:

plot(x,y)%x为横坐标值,y为纵坐标值

plot(y)%序号作为横坐标值(x中数字的排序),y为纵坐标值

plot(x,y,'s')%s为输出样式

例题:绘制y=x12的函数图像。

,编辑器-D:俄的文档\Documents\MATLAB\Untitled.m

Untitled.m+

[口|回

1-x=-10:10;MFigure1

2-y=x.A2;

文件任编辑(E查看性插入QIMG桌面(匚窗口M帮助(卜,

3-plot(x,%'s')

图形样式即's'中应填的值

符号颜色备注符号颜色备注

廿蓝色blue紫色plum

,g'绿色green,y'黄色y

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论