Matlab知识点.docx

上传人:b****5 文档编号:28694072 上传时间:2023-07-19 格式:DOCX 页数:64 大小:63.38KB
下载 相关 举报
Matlab知识点.docx_第1页
第1页 / 共64页
Matlab知识点.docx_第2页
第2页 / 共64页
Matlab知识点.docx_第3页
第3页 / 共64页
Matlab知识点.docx_第4页
第4页 / 共64页
Matlab知识点.docx_第5页
第5页 / 共64页
点击查看更多>>
下载资源
资源描述

Matlab知识点.docx

《Matlab知识点.docx》由会员分享,可在线阅读,更多相关《Matlab知识点.docx(64页珍藏版)》请在冰豆网上搜索。

Matlab知识点.docx

Matlab知识点

零、帮助

1、help命令:

如helpfun显示某函数的功能和语法描述。

如helpsin。

若单独使用help命令,则显示出帮助主题。

2、lookfor命令:

如lookforXYZ在所有的M文件中查找XYZ关键词。

一、变量

1、Matlab区分大小写;标准函数及命令字母必须小写。

2、命令后加分号,则不显示运算结果。

3、注释以%开头。

4、预定义变量(一般不要对预定义变量进行重新赋值)

ans

计算结果的默认赋值变量

realmax

最大正实数

i、j

虚数单位

realmin

最小正实数

eps

机器零阈值

nargin

函数输入参数个数

inf

无穷大

nargout

函数输出参数个数

pi

圆周率

lasterr

存放最新的错误信息

nan

非数

lastwarn

存放最新的警告信息

5、who、whos命令:

显示工作空间中的变量清单或列表。

6、clear命令:

删除工作空间中的变量。

7、较大矩阵数值的输入:

在命令窗口中向一个新变量赋空阵,在工作空间窗口中双击该变量,打开变量编辑器,填表即可。

8、save命令:

把一些变量存储到磁盘文件(.mat),文件名中不能出现后缀。

9、load命令:

将文件中的变量调入内存。

10、单个数据的算术运算只是矩阵运算的特例。

11、常用算术运算符:

+-*/\^()

12、关系运算符:

<<=>>===~=(不等于)

13、逻辑运算符:

&(与)、|(或)、~(非)

二、常用数学函数

sin

正弦函数

exp

自然指数函数

cos

余弦函数

pow2

2的幂

tan

正切函数

abs

绝对值函数、复数的模

asin

反正弦函数

angle

复数的幅角

acos

反余弦函数

real

复数的实部

atan

反正切函数

imag

复数的虚部

sinh

双曲正弦函数

conj

复数的共轭运算

cosh

双曲余弦函数

rem

求余数或模运算

tanh

双曲正切函数

mod

模除求余

asinh

反双曲正弦函数

fix

向零方向取整

acosh

反双曲余弦函数

floor

不大于自变量的最大整数

atanh

反双曲正切函数

ceil

不小于自变量的最小整数

sqrt

平方根函数

round

四舍五入到最邻近的整数

log

自然对数函数

sign

符号函数

log10

常用对数函数

gcd

最大公因子

log2

以2为底的对数函数

lcm

最小公倍数

heaviside

单位阶跃函数

dirac

单位冲激函数

1、三角函数以弧度为单位。

2、abs函数还可求字符串的ASCII码。

3、这些函数几乎都可以针对向量或矩阵进行运算。

三、数据的输出格式

1、format命令:

设置或改变数据输出的格式。

其格式符如下:

short

输出小数点后4位,最多不超过7位有效数字。

对于大于1000的实数,用5位有效数字的科学计数形式输出。

long

15位有效数字形式输出。

shorte

5位有效数字的科学计数形式输出。

longe

15位有效数字的科学计数形式输出。

shortg

从short和shorte中自动选择最佳输出方式。

longg

从long和longe中自动选择最佳输出方式。

rat

近似有理数表示。

hex

十六进制表示。

+

正数、负数、零分别用+、-、空格表示。

bank

银行格式,元、角、分表示。

compact

输出变量之间没有空行。

loose

输出变量之间有空行。

四、矩阵运算(向量是特殊的矩阵)

1、直接输入法建立矩阵:

矩阵元素用方括号括起来,按矩阵行顺序输入各元素,同一行各元素之间用空格或逗号分隔,不同行的元素之间用分号分隔。

如:

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

2、利用.m文件建立矩阵:

即将矩阵的赋值命令写入到一个.m文件中,并运行该文件。

3、利用冒号表达式建立一个向量:

A=e1:

e2:

e3其中,e1为初始值、e2为步长、e3为终止值。

e2可省略,如A=e1:

e3,则步长为1。

4、linspace函数:

也可产生一个行向量,如A=linspace(a,b,n)其中,a为第1个元素,b为最后一个元素,n为元素总数。

n可省略,默认产生100个元素。

5、利用已建好的矩阵建立更大的矩阵:

如:

A=[B,C;C,B]。

6、矩阵元素的引用:

如A(3,2)=200即对矩阵A的第3行第2列的元素赋值为200。

若赋值时给出的下标超出范围,则将对A进行扩展,扩展后的未赋值矩阵元素置0。

7、矩阵按列存储。

矩阵元素也可按序号进行引用,如A

(2)=100。

8、size函数:

如[l,c]=size(A),返回两个元素的向量,分别是矩阵A的行数和列数。

9、sub2ind函数:

如sub2ind(size(A),l,c),返回矩阵A的第l行第c列元素的序号。

10、ind2sub函数:

如[l,c]=ind2sub(size(A),n),返回矩阵A中序号为n的元素的行列下标值。

11、length函数:

如length(A)返回矩阵A的行数和列数中的较大者。

12、ndims函数:

如ndims(A)返回A的维数。

13、利用冒号表达式获得子矩阵

①如A(a,:

)表示矩阵A的第a行的全部元素。

②如A(:

b)表示矩阵A的第b列的全部元素。

③如A(a:

b,:

)表示矩阵A的第a行至第b行的全部元素。

④如A(:

a:

b)表示矩阵A的第a列至第b列的全部元素。

⑤如A(a:

b,c:

d)表示矩阵A的第a行至第b行内的且在第c列至第d列中的所有元素。

⑥如A(end,:

)表示矩阵A的最后一行的全部元素。

⑦如A([a,b],c:

end)表示矩阵A的第a和第b两行中第c列至最后一列的全部元素。

14、A(:

)将矩阵A的每一列元素堆叠起来,成为一个列向量。

15、空矩阵:

如A=[]

16、利用空矩阵删除矩阵元素:

如A(:

[a,b])=[]即删除矩阵A的第a列和第b列元素。

17、reshape函数:

如reshape(A,m,n)在矩阵A总元素个数保持不变的前提下,将矩阵A重新排成m行n列的矩阵。

该函数不改变矩阵元素个数和存储结构。

18、通用的特殊矩阵

①zeros函数:

产生全0矩阵,即零矩阵。

②ones函数:

产生全1矩阵,即幺矩阵。

③eye函数:

产生单位矩阵。

④rand函数:

产生0到1之间均匀分布的随机矩阵。

⑤randn函数:

产生均值为0、方差为1的标准正态分布随机矩阵。

⑥以上函数的用法类似,如zeros(n)产生n行n列的零矩阵、zeros(m,n)产生m行n列的零矩阵。

⑦如a+(b-a)*rand(n)即在区间[a,b]内均匀分布的产生n阶随机矩阵。

⑧如a+sqrt(b)*randn(n)即产生均值为a、方差为b的n阶正态分布随机矩阵。

19、专门的特殊矩阵

①magic函数:

如magic(n)产生n阶魔方矩阵。

②vander函数:

如vander(V)产生以向量V为基础向量的范德蒙矩阵。

③hilb函数:

如hilb(n)产生n阶希尔伯特矩阵。

④invhilb函数:

如invhilb(n)产生n阶希尔伯特矩阵的逆矩阵。

⑤toeplitz函数:

如toeplitz(C,R)产生以向量C为第1列,向量R为第1行的托普利兹矩阵;如toeplitz(C)产生以向量C生成的对称托普利兹矩阵。

⑥compan函数:

如compan(P)产生多项式的伴随矩阵,P为多项式的系数向量。

⑦pascal函数:

如pascal(n)产生n阶帕斯卡矩阵。

20、矩阵基本算术运算

①加减:

如C=A+B、C=A-B其中,A与B同维;另外,A或B也可以是标量。

②乘法:

如C=A*B其中,A或B也可以是标量。

③除法:

如C=A\B(左除,相当于A的逆左乘B)、C=A/B(右除,相当于B的逆右乘A),其中,A或B也可以是标量。

④幂:

如C=A^x其中,x是一个数(可以是复数)。

21、点运算:

在有关的算术运算符前面加点,表示两个矩阵对应元素进行相关运算,要求两个矩阵同维。

如:

C=A.*B、C=A./B、C=A.^x、C=A.^B(A与B同维)、C=x.^A(x为标量,A为矩阵)

22、函数运算:

如C=sin(A)A为矩阵,则对A的每一个元素求其正弦值,运算结果是与A同维的矩阵(或向量)。

23、关系运算

①运算符:

<<=>>===~=(不等于)。

②1表示真、0表示假。

③如:

C=A

④参加运算的A或B也可以是标量。

24、逻辑运算

①运算符:

&(与)、|(或)、~(非)。

②非零元素为真,用1表示;零元素表示假,用0表示

③如:

C=A&B、C=~A其中,A与B同维,且相同位置的对应元素进行逻辑运算,结果C为0、1矩阵。

④参加运算的A或B也可以是标量。

25、关系运算与逻辑运算函数

all

若向量的所有元素非零,则结果为1

any

向量中任何一个元素非零,结果为1

exist

检查变量在工作空间中是否存在。

若存在,则结果为1

find

找出向量或矩阵中非零元素的位置

isempty

若被查变量是空阵,则结果为1

isglobal

若被查变量是全局变量,则结果为1

isinf

若元素是正或负无穷大,则结果矩阵相应位置元素取1,否则取0

ifnan

若元素是非数,则结果矩阵相应位置元素取1,否则取0

isfinite

若元素值大小有限,则结果矩阵相应位置元素取1,否则取0

issparse

若变量是稀疏矩阵,则结果矩阵相应位置元素取1,否则取0

isstr

若变量是字符串,则结果矩阵相应位置元素取1,否则取0

xor

进行异或运算

如:

k=find(A>4)即变量k中存放了矩阵A中找出大于4的元素的位置;A(k)即输出相应位置的元素值。

26、diag函数

①如B=diag(A)即提取矩阵A的主对角线元素,形成向量B。

②如B=diag(A,k)即提取矩阵A的第k条对角线元素,形成向量B。

(即与主对角线平行,向上为第1条、第2条、…,向下为第-1条、第-2条、…,主对角线为第0条)

③如B=diag(V)其中V是m个元素的向量,此时,产生一个m阶对角矩阵B,其主对角线元素为向量V的元素。

④如B=diag(V,k)其中V是m个元素的向量,此时,产生一个(m+|k|)阶对角矩阵B,其第k条对角线元素为向量V的元素。

27、triu函数

①如B=triu(A)即提取矩阵A的上三角元素,形成向量B。

②如B=triu(A,k)即提取矩阵A的第k条对角线以上的元素,形成向量B。

28、tril函数:

提取矩阵的下三角,与triu函数类似。

29、矩阵的转置:

如B=A’。

30、rot90函数:

将矩阵A按逆时针旋转90度的k倍。

如B=rot90(A,2)即矩阵A逆时针旋转180度。

当k为1时可省略,如B=rot90(A)。

31、fliplr函数:

将矩阵A进行左右翻转。

如B=fliplr(A)。

32、flipud函数:

将矩阵A进行上下翻转。

如B=flipud(A)。

33、inv函数:

求矩阵的逆。

如B=inv(A)其中A为满秩的方阵。

34、pinv函数:

求矩阵的伪逆。

如B=pinv(A)其中A可以不是方阵或非满秩的方阵。

35、det函数:

求方阵的行列式值。

如d=det(A)。

36、rank函数:

求矩阵的秩。

如r=rank(A)。

37、trace函数:

求矩阵的迹。

如t=trace(A)。

38、norm函数:

求向量或矩阵的范数。

①如v=norm(A,1)求向量或矩阵的1-范数。

②如v=norm(A)或v=norm(A,2)求向量或矩阵的2-范数。

③如v=norm(A,inf)求向量或矩阵的无穷范数。

39、cond函数:

求矩阵的条件数

①如c=cond(A,1)求矩阵A的1-范数下的条件数。

②如c=cond(A)或c=cond(A,2)求矩阵A的2-范数下的条件数。

③如c=cond(A,inf)求矩阵A的无穷范数下的条件数。

40、eig函数:

求矩阵的特征值与特征向量。

①如E=eig(A)求矩阵A全部特征值,形成向量E。

②如[V,D]=eig(A)通过对矩阵A进行相似变换求A的全部特征值构成对角阵D,并求A的特征向量构成V的列向量。

③如[V,D]=eig(A,’nobalance’)与②类似,但不是通过相似变换求解,而直接进行求解。

41、矩阵的超越函数

①sqrtm函数:

如B=sqrtm(A)求矩阵A的平方根。

相当于A^0.5。

②logm函数:

如B=logm(A)求矩阵A的自然对数。

③expm函数:

如B=expm(A)求自然常数e的A次幂。

④funm函数:

如B=funm(A,@fun)即求直接作用于矩阵A的由fun指定的超越函数值。

如B=funm(A,@sin),这里fun可以是exp、log、sin、cos、sinh、cosh。

42、稀疏矩阵

①采用三元组按列存储。

②sparse函数:

如S=sparse(A)将矩阵A转化为稀疏存储方式的矩阵S;S=sparse(m,n)生成一个m行n列的所有元素都是0的稀疏矩阵S;S=sparse(U,V,A)其中U、V、A是3个等长的向量,A是要建立的稀疏矩阵的非零元素向量,U和V分别是对应的行和列下标值向量。

③find函数:

如[U,V,A]=find(S)返回矩阵S中非零元素的下标和元素。

④full函数:

如A=full(S)返回和稀疏矩阵S对应的完全存储方式矩阵。

⑤spconvert函数:

如S=spconvert(A)其中A是一个m行3列或m行4列的矩阵,m是非零元素的个数,A的4个列的含义依次为非零元素所在的行、非零元素所在的列、非零元素的实部、非零元素的虚部,若非零元素为实数,则无需第4列。

⑥spdiags函数:

如[B,d]=spdiags(A)从原带状矩阵A中提取全部非零对角线元素赋给矩阵B及这些非零对角线的位置向量d;又如[B]=spdiags(A,d)从原带状矩阵A中提取由向量d所指定的那些非零对角线元素构成矩阵B;又如S=spdiags(B,d,m,n)利用具有稀疏特征的带状矩阵生成稀疏矩阵S,其中m和n分别为原带状矩阵的行数和列数。

⑦speye函数:

如S=speye(m,n)返回一个m行n列的稀疏存储的单位矩阵。

⑧稀疏矩阵的运算规则与普通矩阵一样。

当参与运算的对象不全是稀疏矩阵时,所得结果一般是完全存储形式的矩阵。

43、sum函数:

如s=sum(V)当V是向量时,返回该向量全部元素的和;又如S=sum(A)当A是矩阵时,返回值S是一个由A中列向量元素之和所构成的行向量。

五、字符串

1、字符串是用单撇号括起来的字符序列。

如s='abc'

2、Matlab将字符串当作一个行向量,每个元素对应一个字符。

因此,矩阵的许多使用方法和函数都可以在此进行应用。

如s1=s(1:

5)即在s中取子串、k=find(s>='a'&s<='z')即在s中找出小写字母的位置。

3、也可以建立多行字符串矩阵。

如S=['abc';'123']但要求各行字符数要相等,或用空格来调节各行的长度使之彼此相等。

4、常用字符串处理函数

setstr

将ASCII码值转换成字符

str2num

将字符串转换成数值

mat2str

将矩阵转换成字符串

strcat

字符串连接

num2str

将数值转换成字符串

strcmp

字符串比较

int2str

将整数转换成字符串

strrep

字符串替换

5、若字符串中需要含有单撇号,则用两个单撇号表示。

6、如disp(['Thevalueofxis',num2str(x)])显示字符串及变量值所对应的串值。

六、结构数据

1、结构矩阵的建立:

结构矩阵名.成员名=表达式

如:

a.x1=10;a.x2=[1,2;3,4];a

(2).x1=20;a

(2).x2=[4,3;2,1];

2、结构矩阵元素的成员也可以是结构数据。

3、对结构数据的引用,可以引用其成员,也可引用结构矩阵的元素,也可引用结构变量。

4、结构成员的增加:

如a

(1).x3=30;即给结构矩阵的任一个元素增加成员即可,其他成员均为空值。

5、rmfield函数:

删除结构成员。

如a=rmfield(a,'x3')

6、关于结构的函数

struct

建立或转换为结构矩阵

fieldnames

获取结构成员名

getfield

获取结构成员的内容

setfield

设定结构成员的内容

isstruct

是结构时,值为1

isfield

成员在结构中时,值为1

七、单元数据

1、单元矩阵的各个元素就是不同类型的数据。

2、单元矩阵的建立:

和一般矩阵相似,只是矩阵元素用大括号括起来。

如a={10,'a',[1,2;3,4];20,'b',[4,3;2,1]}

3、单元矩阵的引用:

用带有大括号下标的形式。

如a{2,1}=30。

4、celldisp函数:

如celldisp(c)显示整个单元矩阵。

5、删除单元矩阵中的某个元素:

如c

(2)=[]即删除单元矩阵c中的第2个元素。

(c{2}=[]表示将单元矩阵c中的第2个元素置空,但并不删除)

6、关于单元的函数

num2cell

把数字矩阵转换为单元矩阵

cellplot

显示单元矩阵的图形描述

cell2struct

把单元矩阵转换为结构矩阵

deal

把输入分配给输出

iscell

是单元矩阵时,值为1

struct2cell

把结构矩阵转换为单元矩阵

八、程序设计

1、利用Matlab编写的程序,称为M文件。

是一个文本文件。

(Matlab提供的内部函数和各种工具箱,都是利用Matlab命令开发的M文件)。

M文件要放在Matlab的工作目录中或其它目录(将该目录加到Matlab的搜索路径中)

2、M文件的两种类型

①命令文件:

没有输入和输出参数;对Matlab工作空间中的变量进行操作,文件中所有命令的执行结果也完全返回到工作空间中;在Matlab的命令窗口中输入文件名可直接运行。

②函数文件:

可以有输入和返回参数;文件中变量为局部变量;需要以函数调用的方式运行。

3、edit命令:

打开文本编辑器;若采用edit文件名的格式,则打开或新建一个M文件。

4、input函数:

如x=input(提示串,选项)提示串是一个字符串;从键盘输入的数据赋值给变量x;若输入为字符串,则需要选项’s’;键盘输入时的数据格式与数据赋值时的数据格式一致。

5、disp函数:

如disp(A)其中A是变量,与可以是字符串;显示A的值。

又如disp([字符串,num2str(a)])即将字符串与变量值转换为串后一同显示。

6、pause函数:

如pause(延迟秒数)使程序暂停数秒;若直接使用pause函数,则程序暂停,直至用户按任一键继续;若强行中止程序的运行,可按Ctrl+C组合键。

7、if语句

①if条件语句组end

②if条件语句组else语句组end

③if条件语句组elseif条件语句组…elseif条件语句组else语句组end

8、switch语句

switch表达式

case值1

语句组1

otherwise

语句组n

end

9、try语句

try

语句组1

catch

语句组2

end

try语句执行语句组1,若在执行过程中出错,则将错误信息赋给预定义变量lasterr,并转去执行语句组2。

10、for语句

①for循环变量=初值:

步长:

终值循环体语句end

②步长为1时可省略,即初值:

终值

③循环语句的执行速度较慢,有时可用点运算来代替循环。

④for循环变量=矩阵表达式循环体语句end

⑤④格式的执行过程依次将矩阵的各列元素赋给循环变量,然后执行循环体语句,直至各列元素处理完毕。

⑥实际上,(初值:

步长:

终值)是一个行向量,可视为仅为一行的矩阵,每列是单个数据。

11、while语句

While条件循环体语句end

12、break与continue语句

13、每一个函数文件定义一个函数。

其基本格式如下:

function输出形参表=函数名(输入形参表)

注释说明部分

函数体语句

①当输出形参多于一个时,则应用方括号括起来。

②M文件名与函数名最好一致。

③第一注释行:

一般是大写的函数文件名和函数功能简要描述,供lookfor和help命令使用。

④第一注释行及之后连续的注释行:

通常是函数输入输出参数的含义及调用格式说明等信息,构成全部在线帮助文本。

⑤与在线帮助文本相隔一空行的注释行,一般是诸如作者、修改日期、版本等信息,用于软件档案管理。

14、return语句:

用于从函数文件中返回。

15、函数调用格式:

[输出实参表]=函数名(输入实参表)

16、函数调用时各实参出现的顺序、个数应与函数定义时形参的顺序、个数一致。

17、Matlab中,函数可以嵌套(和递归)调用。

18、函数参数的可调性

①在调用函数时,Matlab用两个预定义变量nargin和nargout分别记录调用该函数时的实际输入实参和输出实参的个数。

②只要在函数文件中包含这两个变量,就可以准确知道该函数文件被调用时的输入输出参数个数,从而决定函数如何处理。

19、局部变量:

函数文件中的变量是局部变量。

20、全局变量:

作用域是整个Matlab工作空间。

定义格式为:

global变量名列表

①变量名列表中变量之间用空格分隔。

②在编程时,可以在所有需要调用全局变量的函数里定义全局变量。

同时,为了在基本工作空间中使用全局变量,也要定义全局变量。

③在函数文件里,全局变量的定义语句应放在变量使用之前。

④全局变量不受欢迎。

21、程序的调试:

除采用调试器调试外,还有一些命令可用于程序调试。

dbstop

设置断点

dbstatus

显示所有已设置的断点

dbclear

清除已设置好的断点

dbstep

执行应用程序的一行或多行代码

bdcont

继续执行

dbtype

显示M文件代码和相应的行号

dbquit

退出调试状态

dbdwon/dbup

修改当前工作空间的上、下文关系

dbstack

显示当前堆栈的状态

九、绘图

1、二维数据曲线图是将平面坐标上的数据点连接起来的平面图;坐标系可以是直角坐标系、对数坐标系、极坐标系;数据点可以用向量或矩阵形式给出,类型可以是实数或复数。

2、plot函数

①如plot(X,Y)绘制直角坐标系下的二维曲线,X和Y是等长向量,分别存储x坐标和y坐标数据,它们构成一系列的点对。

②当X是向量,Y是有一维与X同维的

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

当前位置:首页 > 自然科学 > 数学

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

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