matlab笔记2--矩阵基础,运算符,字符串

一.矩阵:矩阵是数组的子集

1.矩阵的构造:

直接赋值:

用分号分成不同行

函数构造:

可以构造的特殊矩阵有:n*n单位/0/1矩阵,多维单位/0/1矩阵(即多维数组),与已知相同大小的单位/0/1矩阵,(单位矩阵最多构造二维),行列之和相等的方阵,均匀随机数/正态分布随机数方阵/多维矩阵,对角方阵,取对角线或移动的列向量,上下三角矩阵。详见P40~41

注意:单个实数或者复数在matlab里面都是以矩阵的形式储存的,单个数据或者单个数据构造矩阵都是标量

2.矩阵大小以及结构的改变

可以做到的改变有:每一行/列进行逆序排列,逆时针旋转k*90°,逆变换,升序(有好几个不明白)详见P44~45

3.矩阵下标应用

索引分为单下标索引和双下标索引,其中单下标索引是采用列元素优先原则。

索引的表示方法都不会改变原来的矩阵

通过下标搜索:索引某行/列,第j~k行/列,矩阵一部分,每一列合在一起,合在一起的向量的一部分或几个值(用行向量表示),任意那几行/列的向量,任意行列交叉的元素。

单双下标索引互换:IND = sub2ind(name,i,j)和 [I J] = ind2sub(name,ind)

访问多个矩阵元素

“:”表示一整行/列的所有元素,求单个行列的式子就可以写成sum(A(: , 4))和sum(A(4. : ))要是想单独求对应的几个数,则“:”前后写上数字即可。其中可用end表示最后的数。而表示不相邻的数也可以是写两个冒号,中间是步长。

4.矩阵信息的获取

矩阵信息包括:矩阵结构,大小,维度,数据类型,内存占用...

矩阵结构:

就是矩阵子元素的排列方式,通过函数可以检测出是否为空,单元素的标量矩阵,是否只是一维向量,稀疏矩阵

矩阵大小:

函数实现了获取维数,各维数上的长度,最长的维数,元素的个数

矩阵维度:

默认空矩阵,标量矩阵,一维矩阵,二维矩阵是作为普通数组对待,利用ndims(A)判断矩阵维度即可

矩阵的数据类型:

通过函数判断数据类型,可判断的有数值型,实数数值,浮点数数值,整数型,逻辑型,字符型,结构体型,元胞型,结构体的元胞型(cell)是为1,不是为0        (P50)

矩阵占用的内存:

直接用whos即可 例如 whos name,输出的是变量名,矩阵大小,内存占用,数据类型

矩阵保存加载:

利用“:”寻访,这是双下标的方式,或者一个数字寻访,这是单下标的方式。

元素的扩展:直接为矩阵暂时不存在的区域赋值,未赋满的地方自动填充0

元素的删除:直接为矩阵存在的区域赋空值:[ ]

函数处理矩阵:cat(1/2,A,B)按照行/列合并矩阵,horzcat(A,B)vertcat(A,B)水平,竖直合并矩阵,复制矩阵构造新矩阵,利用已知矩阵构造块对角化矩阵


二.运算符

优先级:算数运算符>关系运算符>逻辑运算符

1.算数运算符

直接符号表示:

A.*B为A与B相应元素相乘,前提维度相同

A./B为A与B相应元素相除,前提也是维度相同

A.^B为A的每个元素的B次幂,A是矩阵

函数表示:

三角函数以及反三角函数6个

e为底指数,10,e为底对数,平方根,取余

返回最小/最大值

找到阵列的平均数,中位数,和,连乘,累计和,累计连乘(区别在于一个矩阵中单列和所有)

判断在0的哪一侧

向量的差分,排序,求傅里叶变换,求秩

2.关系运算符

通过关系运算符比较两个向量或者矩阵,得到的是真假值的向量或者矩阵

3.逻辑运算符

除了运算符在上一篇提到过,还有几个运算函数:

any(A) all(A)分别是只要有非零的就返回1和所有元素非零返回1

4.运算优先级

( )

' ^ .^

+ - ~

:

> >= < <= == ~=

&

|

&&

||


三.字符串处理函数

有关字符串函数,查看P62

构造:若构造多行字符串时,除非每个字符串的长度相同可以用[ ],否则必须用{ }

连接:strvate忽略空字符串的纵向连接,char不会忽略空字符串的纵向连接,连接完成后,所有行不足最长的用空格补齐

比较:除了关系运算符比较,可以用strcmp比较,这样输出仅为一个1或者0

查找:findstr(name, ' 需要搜索的内容 ') 结果会直接给出这个内容的位置起点

替换:直接赋值即可替换name(1:3)=‘aaa’或者利用函数name=strrep(name,‘以前的内容’,‘现在的内容’)

数制转换:大小写,数据类型,转换成矩阵,转换成ASCII码等



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值