用分号分成不同行
可以构造的特殊矩阵有:n*n单位/0/1矩阵,多维单位/0/1矩阵(即多维数组),与已知相同大小的单位/0/1矩阵,(单位矩阵最多构造二维),行列之和相等的方阵,均匀随机数/正态分布随机数方阵/多维矩阵,对角方阵,取对角线或移动的列向量,上下三角矩阵。详见P40~41
注意:单个实数或者复数在matlab里面都是以矩阵的形式储存的,单个数据或者单个数据构造矩阵都是标量
可以做到的改变有:每一行/列进行逆序排列,逆时针旋转k*90°,逆变换,升序(有好几个不明白)详见P44~45
索引分为单下标索引和双下标索引,其中单下标索引是采用列元素优先原则。
索引的表示方法都不会改变原来的矩阵
通过下标搜索:索引某行/列,第j~k行/列,矩阵一部分,每一列合在一起,合在一起的向量的一部分或几个值(用行向量表示),任意那几行/列的向量,任意行列交叉的元素。
单双下标索引互换:IND = sub2ind(name,i,j)和 [I J] = ind2sub(name,ind)
访问多个矩阵元素:
“:”表示一整行/列的所有元素,求单个行列的式子就可以写成sum(A(: , 4))和sum(A(4. : ))要是想单独求对应的几个数,则“:”前后写上数字即可。其中可用end表示最后的数。而表示不相邻的数也可以是写两个冒号,中间是步长。
矩阵信息包括:矩阵结构,大小,维度,数据类型,内存占用...
就是矩阵子元素的排列方式,通过函数可以检测出是否为空,单元素的标量矩阵,是否只是一维向量,稀疏矩阵
函数实现了获取维数,各维数上的长度,最长的维数,元素的个数
默认空矩阵,标量矩阵,一维矩阵,二维矩阵是作为普通数组对待,利用ndims(A)判断矩阵维度即可
通过函数判断数据类型,可判断的有数值型,实数数值,浮点数数值,整数型,逻辑型,字符型,结构体型,元胞型,结构体的元胞型(cell)是为1,不是为0 (P50)
直接用whos即可 例如 whos name,输出的是变量名,矩阵大小,内存占用,数据类型
利用“:”寻访,这是双下标的方式,或者一个数字寻访,这是单下标的方式。
元素的扩展:直接为矩阵暂时不存在的区域赋值,未赋满的地方自动填充0
元素的删除:直接为矩阵存在的区域赋空值:[ ]
函数处理矩阵:cat(1/2,A,B)按照行/列合并矩阵,horzcat(A,B)vertcat(A,B)水平,竖直合并矩阵,复制矩阵构造新矩阵,利用已知矩阵构造块对角化矩阵
优先级:算数运算符>关系运算符>逻辑运算符
A.*B为A与B相应元素相乘,前提维度相同
A./B为A与B相应元素相除,前提也是维度相同
A.^B为A的每个元素的B次幂,A是矩阵
三角函数以及反三角函数6个
e为底指数,10,e为底对数,平方根,取余
返回最小/最大值
找到阵列的平均数,中位数,和,连乘,累计和,累计连乘(区别在于一个矩阵中单列和所有)
判断在0的哪一侧
向量的差分,排序,求傅里叶变换,求秩
通过关系运算符比较两个向量或者矩阵,得到的是真假值的向量或者矩阵
除了运算符在上一篇提到过,还有几个运算函数:
any(A) all(A)分别是只要有非零的就返回1和所有元素非零返回1
( )
' ^ .^
+ - ~
:
> >= < <= == ~=
&
|
&&
||
有关字符串函数,查看P62
构造:若构造多行字符串时,除非每个字符串的长度相同可以用[ ],否则必须用{ }
连接:strvate忽略空字符串的纵向连接,char不会忽略空字符串的纵向连接,连接完成后,所有行不足最长的用空格补齐
比较:除了关系运算符比较,可以用strcmp比较,这样输出仅为一个1或者0
查找:findstr(name, ' 需要搜索的内容 ') 结果会直接给出这个内容的位置起点
替换:直接赋值即可替换name(1:3)=‘aaa’或者利用函数name=strrep(name,‘以前的内容’,‘现在的内容’)
数制转换:大小写,数据类型,转换成矩阵,转换成ASCII码等