1.1.1MATLAB系统环境
切换工作目录【注意:要先创建文件夹再切换】
cd D:\代码\matlab
MATLAB搜索路径
遇到同名的变量名和内部函数名时,会优先选择变量名
设置文件搜索路径的方法
clear 清除工作区的全部变量
clc 清除界面的代码
1.2.1MATLAB数值数据
输出格式
【注意】format函数只影响数据输出格式,而不影响数据的计算和存储
常用的数学函数
取整的函数
求1-100之间的素数
C = rem(A,B):rem是余数的函数,意思是A取余B
1.3.1变量及其操作
向量的产生
x = 1:10;是指x包含从1到10,[1,2,3,4,5,6,7,8,9,10]
预定义变量
预定义变量是由系统本身定义的变量。
- ans时默认赋值变量
- i和j代表虚数单位
- pi代表圆周率
- NaN代表非数,在绘图时如果想裁掉其中一部分,可以把要裁掉的坐标数据设为NaN就可以了
变量的管理
- 内存变量的删除和修改
who:显示变量名称,whos显示变量详细信息 - 内存变量文件
用于保存MATLAB工作区变量的二五年间叫做内存变量文件,其扩展名为.mat,也叫MAT文件。
mat文件生成
save命令:创建内存变量文件
save mydata a x :就可以把变量a和x保存在mydata.mat文件中
load命令:装入内存变量文件,
load mydata :把mydata.mat文件内容装入matlab工作空间,可以在新建的工作区使用
1.4.1矩阵的表示
矩阵的建立
1.利用直接输入法建立矩阵:
将矩阵的元素用中括号括起来,按矩阵行的顺序输入个元素,同一行各元素之间用逗号或者空格隔开,不同行的元素之间用分号分割
2.利用已建好的矩阵建立更大的矩阵:
一个大矩阵可以由已经建立好的小矩阵拼接而成
3.可以用实部矩阵和虚部矩阵构成复数矩阵:
这里B和C中的元素是一一对应的
冒号表达式
产生行向量
注意:省略步长e2,则步长为1,例如:t=0:5与t=0:1:5等价
步长相当于等差数列的d
linspace:产生行向量
结构矩阵和单元矩阵
(1)结构矩阵的创建
(2)单元矩阵
建立单元矩阵和一般矩阵相似,直接输入就可以了,只是单元矩阵元素用大括号括起来。
1.5.1矩阵元素的引用
(1)通过下标来引用矩阵的元素
下标必须为整数,并且要用小括号括起来 A(行,列)
如果括号内输入的数大于矩阵的行数和列数,则会自动扩展原来的矩阵,并在没有输入的矩阵元素赋值为0,输入的位置赋输入的指定值
(2)通过序号来引用
- 在matlab中矩阵元素按列存储,级首先存储矩阵的第一列元素,然后存储第二列元素,···,一直到矩阵的最后一列。
- 矩阵元素的序号就是矩阵元素在内存中的排列顺序。
先存列,也就是存入数据的顺序为1,4,2,5,3,6,则输出A(1)=1,A(2)=4,A(3)=2,A(4)=5
序号与下标是一一对应的,以m×n矩阵A为例,矩阵元素A(i,j)的序号为(j-1)*m+i
矩阵元素的序号与下标可以利用sun2ind和ind2sub函数实现相互转换。
sub2ind函数:将矩阵中指定行列下标转换成存储的序号,调用格式为:
sub2ind函数举例
注释:
- size(A)得到一个包含两个元素的向量,第一个元素是行 第二个元素是列,从而得到矩阵的行数和列数[4,5]
- [1,2;2,2]和[1,1;3,2]是指(1,1),(2,1),(2,3),(2,2)是一一对应的
ind2sub函数:将把矩阵元素的序号转换成对应的下标,其调用格式为:
ind2sub函数举例:
注释:表示的是第一个元素的下标为(1,1),第三个元素的下标为(3,1),第五个元素的下标为(2,2)
利用冒号表达式获得子矩阵
子矩阵是指由矩阵中的一部分元素构成的矩阵
举例:
end运算符:表示某一维的末尾元素下标
举例:
利用空矩阵删除矩阵的元素
空矩阵是指没有任何元素的矩阵
举例:
改变矩阵的形状
reshape(A,m,n):在矩阵总元素保持布标的前提下,将矩阵A重新排成m×n的二维矩阵
注意:reshape函数只是改变原矩阵的行数和列数,但并不改变原矩阵元素个数及其存储顺序,也就是按照之前存储的循序先排行后排列,若改变后的元素超过之前的会报错
1.6.1MATLAB基本运算
matlab算数运算是针对矩阵的
算数运算
(1)基本算数运算
基本算数运算符:+,-,*,/,^。
- matlab的算数运算实在矩阵意义下进行的。
- 单个数据的算数运算只是矩阵运算的一种特例。
加减运算
-若两矩阵同型,则运算时两矩阵相应元素相加减。
-若两矩阵不同型,则matlab将给出错误信息
-一个标量也可以和矩阵进行加减运算,这是把标量各矩阵的每一个元素进行加减运算
乘法运算
- 矩阵A和B进行乘法运算,要求A的列数与B的行数相等,此时则称A、B矩阵式可乘的,或称A和B两矩阵位数和大小相容。、
- 如果两者的位数或大小不相容,则将给出错误信息,提示用户两个矩阵是不可乘的。
除法运算
- 在MATLAB中,有两种矩阵除法运算:右除/和左除。
- 如果A矩阵式非奇异方阵,则B/A等效于Binv(A),AB等效于inv(A)B
对于矩阵来说,右除和左除表示两种不同的除数矩阵和被除数矩阵关系。
示例:
乘方运算
一个矩阵的乘方运算可以表示成 A^x,要求A为方阵,x为一个标量
其实就是线代里面的A*A
点运算
- 点运算符:.* 、./ 、.和.^。
- 两矩阵进行点运算是指他们的对应元素进行相关运算,要求两矩阵同型。是A矩阵各元素与B矩阵相同位置的元素进行的运算
示例:
注意:点运算是MATLAB很有特色的一个运算符,在实际应用中起着很重要的作用,也是很多初学者容易弄混的一个问题
关系运算
- 关系运算符:<(小于)、<=(小于等于)、>(大于)、>=(大于等于)、==(等于)、~=(不等于)。
-当两个比较量是标量时,直接比较两数的大小,若关系成立,关系表达式结果为1,否则为0.
逻辑运算
逻辑运算符:&(与)、|(或)、~(非)
示例:
其中第五行的意思是:在向量m中,找到所有满足这个等式的序号,赋值给k。