MATLAB重点归纳.docx

上传人:b****7 文档编号:16495362 上传时间:2023-07-14 格式:DOCX 页数:24 大小:123.77KB
下载 相关 举报
MATLAB重点归纳.docx_第1页
第1页 / 共24页
MATLAB重点归纳.docx_第2页
第2页 / 共24页
MATLAB重点归纳.docx_第3页
第3页 / 共24页
MATLAB重点归纳.docx_第4页
第4页 / 共24页
MATLAB重点归纳.docx_第5页
第5页 / 共24页
MATLAB重点归纳.docx_第6页
第6页 / 共24页
MATLAB重点归纳.docx_第7页
第7页 / 共24页
MATLAB重点归纳.docx_第8页
第8页 / 共24页
MATLAB重点归纳.docx_第9页
第9页 / 共24页
MATLAB重点归纳.docx_第10页
第10页 / 共24页
MATLAB重点归纳.docx_第11页
第11页 / 共24页
MATLAB重点归纳.docx_第12页
第12页 / 共24页
MATLAB重点归纳.docx_第13页
第13页 / 共24页
MATLAB重点归纳.docx_第14页
第14页 / 共24页
MATLAB重点归纳.docx_第15页
第15页 / 共24页
MATLAB重点归纳.docx_第16页
第16页 / 共24页
MATLAB重点归纳.docx_第17页
第17页 / 共24页
MATLAB重点归纳.docx_第18页
第18页 / 共24页
MATLAB重点归纳.docx_第19页
第19页 / 共24页
MATLAB重点归纳.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

MATLAB重点归纳.docx

《MATLAB重点归纳.docx》由会员分享,可在线阅读,更多相关《MATLAB重点归纳.docx(24页珍藏版)》请在冰点文库上搜索。

MATLAB重点归纳.docx

MATLAB重点归纳

MATLAB重点归纳

第1章MATLABR2010a环境

1、工作空间窗口、命令窗口、历史命令窗口、开始按钮

2、>>所在行可输入命令;没有>>所在行显示结果

3、MATLAB常用标点符号的功能(9页)

4、cd设置当前目录。

eg:

要设置当前目录为“C:

\MYDIR”:

>>cdC:

\MYDIR

saveFileName变量1变量2…参数%将变量保存到文件中

5、saveFileName1%将变量保存到文件中

saveFileName2ab%将变量a,b保存到文件中

saveFileName3ab–append%将变量a,b添加到文件中

6、loadFileName变量1变量2…%从数据文件中取出变量存放到工作空间

loadFileName1%把文件中的全部变量装入内存

loadFileName2ab%把文件中的a,b变量装入内存

7、who查阅MATLAB内存变量名

8、whos查阅MATLAB内存变量变量名、大小、类型和字节数

9、clear删除工作空间中的变量

10、i=exist(‘X’)查询工作空间中是否存在‘X’变量

i=1表示存在一个变量名为‘X’的变量

i=2表示存在一个名为‘’的文件

i=3表示存在一个名为‘’的文件

i=4表示存在一个名为‘’的文件

i=5表示存在一个变量名为‘X’的内部函数

i=0表示不存在以上变量和文件

11、path%列出MATLAB的搜索路径

Path(path,’C:

\MYDIR’)%在MATLAB的搜索路径的末尾添加新目录C:

\MYDIR

12、what列出当前目录下的M、MAT、MEX文件清单

13、dir%列出当前目录下的文件和子目录清单

dir目录名%列出指定目录下的文件和子目录清单

14、type文件名%显示指定M文件的内容

Type%显示文件的注释内容

15、which%指出M、MAT、MEX文件、工作空间变量、内置函数或Simulink模型所在目录

16、matlabroot%返回安装MATLAB的根目录

第2章MATLAB数值计算

1、各种整数数据类型的范围和类型转换函数表(30页)

2、>>a=5;

>>b=0;

>>c=67;

>>u1=uint8(a)%转换成无符号整型

u1=

5

>>s1=char(c)%转换成字符型为字母C

s1=

C

>>li=logical(b)%转化成逻辑型为false

li=

0

3、MATLAB中用i,j表示叙述的单位

Z=a+b*i或z=r*exp(i*θ)

a=real(z)%计算实部

a=image(z)%计算虚部

a=abs(z)%计算幅值

4、变量的命名规则:

1)变量名区分字母的大小写;

2)变量名不能超过63个字符;

3)变量名必须以字母开头,组成可以是任意字母、数字或者下划线;

4)关键字不能作为变量名

5、特殊变量(33页)

6、矩阵输入:

矩阵元素用[]括住,行内用逗号或空格隔开,行与行用分号或回车隔开

7、通过语句生成矩阵

1)from:

step:

tofrom:

to

From,step,to分别表示开始值、步长和结束值。

Step省略时默认为1。

当step<0而from

>>x=3:

-1:

0

x=

3210

2)使用linspace和logspace函数生成向量

Linspace是用来生成线性等分向量,直接给出元素的个数从而得出各个元素的值

linspace(a,b,n)3个参数分别表示开始值,结束值和元素个数,生成a,b之间线性分布的n个元素的行向量,n如果省略则默认值是100.

logspace用来生成对数等分向量logspace(a,b,n)生成从

之间按对数等分的n个元素的行向量,n如果省略则默认50

>>x1=linspace(0,2*pi,5)

x1=

0

>>x2=logspace(0,2,3)

x2=

110100

 

3)由函数产生特殊矩阵

函数名

功能

例子

输入

结果

Zeros(m,n)

产生m*n的全0矩阵

Zeros(2,3)

000

000

Ones(m,n)

产生m*n的全1矩阵

ones(2,3)

111

111

rand(m,n)

产生均匀分布的随机矩阵,

元素取值范围为~

rand(2,3)

randn(m,n)

产生正态分布的随机矩阵

randn(2,3)

Magic(N)

产生N阶魔方矩阵(矩阵

的行、列和对角线上的

元素的和相等)

Magic(3)

816

357

492

eye(m,n)

产生m*n的单位矩阵

Eye(3)

100

010

001

true(m,n)

false(m,n)

产生m*n的逻辑矩阵,

全为ture

产生m*n的逻辑矩阵,

全为false

True(3)

111

111

111

当zeros,ones,rand,randn,eye函数中只有一个参数n时,则为n*n的方阵

>>t=true(3)

t=

111

111

111

>>t(1:

2,3)=false(2,1)%1,2行的第2列改为false

t=

110

110

111

8、矩阵的下标

1)全下标方式

A=[1,2;3,4;5,6]A(1,2)=2A(1,2)=7A=[1,7;3,4;5,6]

2)单下标方式:

把矩阵的所有列按照先左后右的次序连接成“一维长列”,然后对元素位置进行编号,m*n矩阵的单下标s=(j-1)/8m+i

9、子矩阵块的产生方式

1)全下标方式:

(以3*3矩阵为例)

a([1,3],[2,3])表示取行数为1,3,列数为2,3的元素构成子矩阵

a(1:

3,2:

3)取行数1~3,列数2~3的元素构成子矩阵

a(:

;3)取所有的行数,列数为3的元素构成子矩阵

a=(1:

3,end)表示取行数1~3,列数为3的元素构成矩阵,end表示某一位数中的最大值,即3

2)用单下标方式:

a([1,3;2,6])表示取单下标为1,3,2,6的元素构成子矩阵

3)逻辑矩阵:

a(l1,l2)表示子矩阵时,l1,l2为逻辑向量,l1,l2的元素为0则不取该位置元素,反之则取该位置元素。

>>a=[1,2,3;4,5,6;7,8,9];

>>l1=logical([101]);

>>l2=logical([110]);

>>a(l1,l2)

ans=

12

78

10、矩阵的赋值:

全下标方式,单下标方式,全元素方式

eg:

全元素方式:

>>a=[12;34;56]

a=

12

34

56

>>b=[123;456]

b=

123

456

>>a(:

)=b%按单下标方式给a赋值

a=

15

43

26

11、矩阵元素的删除操作:

赋值为空矩阵[]

A(:

3)删除1列元素;a

(1)=[],按单下标方式删除1个元素,则矩阵变为行向量

12、生成大矩阵[a;a]

13、矩阵和数组运算a=[123;456;789]

函数名

功能

det(X)

计算方阵行列式

rank(X)

求矩阵的秩,得出行列式不为0的最大方阵边长

inv(X)

求矩阵的逆,当方阵X的dit(X)不等于0,逆阵才存在,相乘为单位矩阵

diag(X)

产生X矩阵的对角阵

 

13、矩阵的翻转(常用矩阵翻转的函数功能)a=[120;040;569]

函数名

功能

例子

输入

结果

triu(X)

产生X矩阵的上三角矩阵,其余元素补0

triu(a)

120

040

009

tril(X)

产生X矩阵的下三角矩阵,其余元素补0

tril(a)

100

040

569

flipud(X)

使矩阵X沿水平轴上下翻转

flipud(a)

569

040

120

fliplr(X)

使矩阵X沿垂直轴左右翻转

fliplr(a)

021

040

965

15、矩阵和数组的算术运算

X=A\B表示方程A*X=B的解

X=A/B表示方程X*A=B的解

数组的乘法为.*除法运算有.\和./,表示数组相应元素相乘除

矩阵乘方A^B,数组乘方A.^B

16、矩阵和数组的转置

A’表示矩阵A的转置,若A为复数矩阵,则为共轭转置

A.’表示数组A的转置,如果数组A为复数数组,则不是共轭转置

17、数组的基本函数

函数名

含义

函数名

含义

abs

绝对值或者复数模

Mod

模除求余

Sqrt

平方根

exp

自然指数

Real

实部

Log

自然对数

Imag

虚部

Log10

以10为底的对数

conj

复数共轭

18、矩阵和数组运算的对比表(52页)

19、关系操作和逻辑操作

1)MATLAB常用的关系操作符有<,<=,>,>=,==,~=(不等于)

①如果用来比较的2个变量都是标量,则结果为真

(1)或假(0)

②如果用来比较的都是数组,则大小必须相同,结果也是同样大小的数组,数组的元素为0或1

③如果用来比较的是1个数组和1个标量,则把数组的每个元素分别于标量比较,结果为同样大小相同的数组,数组的元素为0或1

④关系操作符<,<=,>,>=仅对参加比较的变量的实部进行比较,而,==,~=可同时对实部和虚部进行比较

2)逻辑运算与&或|非~异或xor

①非0元素表示真

(1),0元素表示假(0),逻辑运算的结果为0或1

②如果用来逻辑运算的2个变量都是标量,则结果为0、1的标量

③如果用来逻辑运算的2个变量都是数组,则必须大小相同,结果为同样大小相同的数组

④先决与&&,先决或||

20、常用的关系逻辑函数(54页)

 

21、在MATLAB中各种运算符的优先级:

'(矩阵转置)、^(矩阵幂)和.'(数组转置)、.^(数组幂)

~(逻辑非)

*(乘)、/(左除)、\(右除)和.*(点乘)、./(点左除)、.\(点右除)

+、-(加减)

:

(冒号)

<、<=、>、>=、~=

&(逻辑与)

|(逻辑或)

&&(先决与)

||(先决或)

22、矩阵的大小size(a)

返回行数或列数的最大值length(p)等价于max(size(p))

23、多项式

1)多项式p1(x)=x3+21x2+20x可以表示为:

p1=[121200]%常数项为0,按幂的降序排列。

最后一个元素一定是表示常数项,

如果无常数项,则应该令该元素为0

2)多项式求值polyval(p,s)计算多项式在给定变量时的值。

说明:

p为多项式,s为给定矩阵。

p1=[121200];

polyval(p1,2)%计算x=2时多项式的值

x=0:

:

3;

polyval(p1,x)%计算x为向量时多项式的值

3)多项式求根r=roots(p)p为多项式,r为计算的多项式的根,以列向量形式保存

P=poly(r)根据多项式的根计算多项式的系数

4)特征多项式P=poly(s)s必须是方阵,p为特征多项式

5)部分分式展开[r,p,k]=residue(b,a)

6)多项式的乘法和除法

多项式乘法p=conv(pl,p2),p是多项式p1和p2的乘积多项式。

多项式除法,[q,r]=deconv(pl,p2):

多项式p1被p2除的商为多项式q,余子式是r

7)多项式的微分和积分

p=polyder(p1):

多项式p1的微分为多项式p。

没有专门积分函数,可以用[p./length(p):

-1:

1,k]的方法来完成积分,k为常数

例:

求多项式的微分和积分。

p1=[121200]

p4=polyder(p1)%多项式微分

s=length(p4):

-1:

1

p1=[p4./s,0]%多项式积分,常数k=0

8)多项式的拟合和插值

插值运算:

根据数据点的规律,找到一个多项式表达式可以连接两个点,插并得出相邻数据点之间的数值。

①一维插值

yi=interp1(x,y,xi,’method’):

一维插值是指对一个自变量的插值,interp1函数是用来进行一维插值的。

说明:

x、y为行向量;xi是插值范围内任意点的x坐标,yi则是插值运算后的对应y坐标;method是插值函数的类型,“linear”为线性插值(默认),“nearest”为用最接近的相邻点插值,“spline”为三次样条插值,“cubic”为三次插值。

24、数据分析

1)原则

①如果输入的是向量,则按整个向量进行运算

②如果输入的是矩阵,则按列进行运算

2)MATLAB数据统计分析函数(75页)注意max(x)和max(x(:

))的差别

3)常用的差分和积分函数(76页)

4)卷积和快速傅里叶变换

conv(x,y)计算向量的卷积(若x是输入信号,y是线性系统的脉冲过渡函数,则X,Y的卷积为系统的输出信号)

[q,r]=deconv(x,y)解卷积运算x=conv(y,q)+r

MATLAB软件的序列下标从1开始而不是0

X=fft(x,N)对离散序列进行离散傅里叶变换

X=ifft(x,N)对离散序列进行离散傅里叶逆变换

x可以是向量,矩阵,多维数组,N为输入变量x的序列长度,可省略。

如果x的长度小于N,则会自动补零;如果x的长度大于N,则会自动截断;当N取2的整数幂时,傅立叶变换的计算速度最快。

一般情况下,fft求出的函数为复数,可用abs及angle分别求其幅值和相位。

 

第3章MATLAB符号计算

1、创建符号常量sym(‘常量’)

sym(常量,参数)%把常量按某种格式转换为符号常量

参数可选为‘d’(十进制)、‘f’(浮点)、‘e’(带有机器浮点误差的有理值)或‘r’(最接近的有理数值)四种格式,也可省略(默认为'r')。

2、MATLAB的数学计算:

包括数值计算和符号计算

数值计算:

不允许使用未赋值的变量

符号计算:

可以使用未赋值的符号变量进行运算

3、创建数值常量和符号常量

>>a=sym('sin

(2)')%创建符号常量,注意和>>a=sin

(2)的区别

a=sin

(2)

>>a1=2*sqrt(5)+pi%创建数值常量

a1=

>>a2=sym('2*sqrt(5)+pi')%创建符号常量

a2=2*sqrt(5)+pi

>>a4=sym(2*sqrt(5)+pi,'d')%按最接近的十进制浮点数表示符号常量

a4=

>>a5='2*sqrt(5)+pi'%字符串常量,注意和第3条命令的执行结果比较

a5=2*sqrt(5)+pi

4、创建符号变量sym(‘变量’,参数)%把变量定义位符号对象

参数用来限定符号变量的数学特性:

‘positive’表示为正、实符号变量,‘real’为实符号变量,‘unreal’为非实符号变量

5、创建符号表达式sym(‘表达式’)

6、创建多个符号变量和符号表达式

Syms(‘arg1’,’arg2’,…,参数)

Symsarg2arg2…,参数

7、创建符号矩阵

>>A=sym('[a,b;c,d]')>>symsabcd

A=>>A=[a,b;c,d]

[a,b]A=

[c,d][a,b]

[c,d]

8、符号表达式的代数运算

1)算术和关系运算符

(1)算术运算符

“+”,“-”,“*”,“\”,“/”,“^”分别实现符号矩阵的运算。

“.*”,“./”,“.\”,“.^”分别实现符号数组的运算。

“′”,“.′”分别实现符号矩阵的共轭转置、非共轭转置。

(2)关系运算符

在符号对象的比较中,没有“大于”、“大于等于”、“小于”、“小于等于”的概念,而只有是否“等于”的概念(“==”、“~=”),为真时,用1表示;为假时,用0表示

2)、函数运算

(1)三角(反三角)函数和双曲函数

sin、cos、tan

asin、acos、atan

sinh、cosh、tanh

(2)指数和对数函数

sqrt、exp、expm

自然对数log(表示ln),无log2和log10

(3)复数函数

conj、real、imag、abs

无angle函数

(4)矩阵代数命令

diag,triu,tril,inv,det,rank,poly,eig

9、符号表达式中自由变量的确定(重要)

1)小写字母i,j不能作为自由变量

2)符号表达式中如果有多个符号变量,则按照:

首先选择x作为自由变量;如果没有x则选择在字母顺序中最接近x的字符变量;如果与x相等距离,则在x后面的优先

3)大写字母比所有小写字母都靠后

10、确定自由符号变量:

symvar(EXPR)

自动确定符号表达式中的自由符号变量findsym

EXPR可以是符号表达式或符号矩阵;n为按顺序得出符号变量的个数。

当n省略时,则不按顺序得出EXPR中所有的符号变量。

>>f=sym('5*v^u-3*w+Y+z')

>>findsym(f)%得出所有的符号变量,不按次序

ans=Y,u,v,w,z

>>findsym(f,5)%得出所有的符号变量,不按次序

ans=w,z,v,u,Y

11、符号表达式的化简(91页)

1)多项式形式

2)因式形式

3)嵌套形式

多项式化简函数表pretty、collect、expand、horner、factor

函数名

变换前

变换后

备注

pretty

x^3-6*x^2+11*x*-6

32

x-6x+11x-6

给出排版形式的输出结果

collect

(x-1)*(x-2)*(x-3)

x^3-6*x^2+11*x*-6

表示为合并同类项多项式,当有多个符号变量,可指定按某个符号变量来合并,否则按默认的自由变量进行

expand

(x-1)*(x-2)*(x-3)

x^3-6*x^2+11*x*-6

表示为多项式形式,多项式展开形式

horner

x^3-6*x^2+11*x*-6

x*(11*y+x*(x-6))-6

表示为嵌套形式

factor

x^3-6*x^2+11*x*-6

(x-3)*(x-1)*(x-2)

表示为因式连乘的形式

collect(f1,’y’)按y变量来变换

simplify函数:

化简函数,对三角函数、对数函数、幂函数等特别有效

>>y=sym('cos(x)^2-sin(x)^2')

y=

cos(x)^2-sin(x)^2

>>simplify(y)

ans=

cos(2*x)

simple函数:

寻求包含最少数目字符的表达式简化形式

12、符号极限

[记住每一个函数表示什么]

>>f=sym('1/x')

f=

1/x

>>limit(f)

ans=

NaN%当左右极限不相等时,表达式的极限不存在,为NaN

>>limit(f,'x',0,'left')

ans=

-Inf

用极限方法也可以求函数的倒数

13、符号微分

diff(f)%求f对默认自由变量的一阶微分

diff(f,t)%求f对指定符号变量t的一阶微分

diff(f,n)%求f对默认自由变量的n阶微分

diff(f,t,n)%求f对指定符号变量t的n阶微分

eg:

>>f=sym('a*x^2+b*x+c')

f=

a*x^2+b*x+c

>>diff(f)%对默认自由变量x求一阶微分

ans=

b+2*a*x

>>diff(f,'a')%对符号变量a求一阶微分

ans=

x^2

>>diff(f,'x',2)%对符号变量x求二阶微分

ans=

2*a

>>diff(f,3)%对默认自由变量x求三阶微分

ans=

0

diff用于符号矩阵时,其结果是对矩阵的每一个元素进行微分计算

eg:

symstxy

g=[2*yt^2;t*sin(y)exp(x)]%创建符号矩阵

diff(g)%对默认自由变量求一阶微分

diff(g,'t')%对符号变量t求一阶微分

diff(g,'y')

diff(g,2)%对默认自由变量求二阶微分

可以使用diff计算向量间元素的差值

eg:

>>x1=0:

:

2;

>>y1=sin(x1)

y1=

0

>>diff(y1)

ans=

计算出的差值比原来的向量少一列

14、符号积分

int(f,’t’)%求符号变量t的不定积分

int(f,’t’,a,b)%求符号变量t的积分

int(f,’t’,’m’,’n’)%求符号变量t的积分

说明:

t为符号变量,当t省略则为默认自由变量;a和b为数值,[a,b]为积分区间;m和n为符号对象,[m,n]为积分区间;与符号微分相比,符号积分复杂得多。

因为函数的积分有时可能不存在,即使存在,也可能限于很多条件,MATLAB无法顺利得出。

当MATLAB不能找到积分时,将给出警告提示。

15、符号方程的求解

1)代数方程

solve(‘eq’,’v’)%求方程关于指定变量的解

solve(‘eq1’,’eq2’,’v1’,’v2’,…)%求方程组关于指定变量的解

说明:

eq可以是含等号的符号表达式的方程,也可以是不含等号的符号表达式,但所指的仍是令eq=0的方程;当参数v省略时,为方程中默认的自由变量;其输出结果为结构数组类型。

>>f1=sym('a*x^2+b*x+c')%无等号

f1=

a*x^2+b*x+c

>>solve(f1)

ans=

-(b+(b^2-4*a*c)^(1/2))/(2*a)

-(b-(b^2-4*a*c)^(1/2))/(2*a)

>>f2=sym('sin(x)')

f2=

sin(x)

>>solve(f2,'x')

ans=

0%当sinx=0有多个解时,只能得出0附近的有限几个解

计算三元非线性方程组

的解

>>eq1=sym('x^2+2*x+1');

>

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

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2