Matlab--从入门到精通(chapter2 matlab 基础知识)

Chapter2 Matlab 基础知识数组

1.基本数学运算符号函数

注:矩阵的右除是通常意义的除法,可是左除具备对称意义,即A./B=B.\Aspa

2. 命令行中的经常使用标点命令行

 

3.常见的操做命令3d

4.输出数据显示格式命令orm

 注:在Matlab中,默认输出采用双精度的格式,默认采用format short g方式来进行显示blog

5.数值、变量和表达式排序

5-1.变量的命名规则索引

  • 变量名对大小写敏感
  • 变量名必须以字母开头,后面能够跟数字、下划线和字母
  • 变量名最长能够采用63个字符,以后的字符串都将被忽略
  • 关键字能够经过iskeyword命令来查询,或者能够经过isvarname来查询所定义的变量名

预约义的变量内存

注:被0除,系统会给出警告,并相应地用Inf或者NaN来表示这些计算结果

6.数值数据类型

  •  Matlab主要包括各类有无符号的整数型数据、双精度和单精度型的数据。
  • 整数:主要包括8位、16位、32位和64位的有符号和无符号的整数数据类型。每种数据类型均可以经过函数intmax和intmin来查询上下限,class函数能够获取变量的数据类型;randperm(9)函数随机生成1-9的随机变量;不一样的数据之间不能直接进行数学运算,可是双精度标量和整型数据之间的数学运算能够进行。
  • 浮点数:双精度(double)和单精度(single),其取值范围能够经过realmin、realmax来得到;单精度类型浮点数的精度能够经过函数eps来获得;单双混合运算时,最后取单精度的数据结果。在双精度中,Inf和NaN分别表示无穷大和被零除。
  • 整型浮点数间的操做函数:cast(x,'type'),将x的数据类型转化为type类型的数据
  • 复数:
  • 经过complex(a,b)获得复数a+bi
  • 角度=弧度*180/pi

round 向最接近的整数舍入

7.数组

7-1一维数组的建立

  •  直接输入法:直接经过空格、逗号和分号来分割数组元素,生成一维数组
  • 步长输入法:x=a:inc:b
  • 等间距线形生成方法:x=linspace(a,b,n),采用函数在a和b之间内获得n个线形采样数据点
  • 等间距对数生成方法:x=logspace(a,b,n)
  • 数组元素的访问:对单个元素能够经过索引访问,如x(3);对于一块数据,能够经过冒号形式访问;对于其中部分数据,能够经过构造访问序列或者向量列表来访问。
  • 构造访问数组:如x(1:2:7)  x([1 4 6 3 2 2])

一维数组能够是一个行向量,也能够是一列多行的向量,在定义中,若是经过“;”分隔元素,那么生成的是列向量;经过空格或者逗号分隔的元素为行向量;行和列向量之间能够经过“,”来进行相互之间的转化过程。复数则是共轭转置操做。

7-2 多维数组的建立

  • 二维数组能够经过如下三种方法来建立
  • 方法1:直接输入二维数组的元素,不一样行之间的数据经过分号来分割,同一行中的采用逗号或者空格
  • 方法2:经过Array Editor来输入二维数组
  • 方法3:对于大规模的数据,经过数据表格方式进行输入,选择Import data 图标,选择写好的矩阵数据文件
  • 方法4;经过其余函数生成二维数组
  • 三维数组(包含行,列和页/层的概念)能够经过如下方式建立:
  • 直接建立:经过一些内置函数来建立三维数组,如zeros,ones,rand,randn等,如A=zeros(3,4,2)表示三行4列,两页
  • 经过直接索引的方法进行建立
  • 使用内置函数reshape和repmat将二维数组转换为三维数组
  • 使用cat函数将低维数组转为高维数组,AA=cat(3,X,Y,Z)表示在第三维上合并低维数组

7-3 数组的运算

         数组的运算包含数组和标量之间的运算,以及数组和数组之间的运算。数组与数组之间的还包括直接运算和点运算。注意区分左除和右除。

        二维数组的运算:对于矩阵的加减运算以及其余点运算,都是针对矩阵的元素进行的。

7-4 经常使用的标准数组

      包括全0数组、全1数组、单位矩阵、随机矩阵、对角矩阵以及元素为指定常数的数组等。

7-5 低维数组的寻址和搜索

排序:在进行一维数组的排序时,默认为升序排列,若是须要降序,须要在第二个参数处以descend来代替。

         例如:[As,idx]=sort(A,'ascend')

         sort函数只对数组的列进行排序;若是要对行进行排序,须要为sort函数提供第二个参数2,As=sort(A,2)

  子数组搜索功能能够经过find函数来搜索。

 若是搜索最值,可使用max和min函数;若是搜索的是二维数组,那么这两个函数返回每一列的最值。

8. 单元数组和结构体

      单元数组(cell array)和结构体(structure)均可以将不一样类型的相关数据集成到一个单一的变量中。

       结构体和单元数组十分类似,区别是结构体中的数据存储并非由数字来标示的,而是经过结构体中的名称来进行标示的。

8-1 单元数组的建立和操做

          单元数组中的每个元素称为单元(cell),单元中能够包含任何类型的Matlab数据。

          单元数组的建立能够分为两种,经过直接赋值语句直接建立,即按照单元索引法和按照内容索引法。

  或者经过cell函数首先为单元数组分配内存空间,而后再对每一个单元进行赋值。

          用花括号能够访问单元数组单元的内容,采用celldisp函数来强制显示单元数组的全部内容。

          C=[A;B] 合并获得更大的单元数组

          用reshape函数来改变单元数组的结构;repmat函数用于复制单元数组

8-2 结构体建立

      结构体(structure)和单元数组很是类似,结构体经过字段(fields)来对元素进行索引,在访问时只需经过点号来访问数据变量。

       结构体能够经过两种方法来建立,即经过直接赋值方式建立或者经过struct函数来建立。

      结构体函数:

           cat函数:提取结构体数据后依次排列,如center=cat(1,circle.center)

           deal函数:提取多个元素的数值赋予不一样的变量,或对结构体字段赋值,

                        [c1,c2,c3]=deal(circle.color)          [circle.radius]=deal(13,27,36)

9.字符串

常见的操做函数:

 

10.关系和逻辑运算

      Matlab对一个数组执行逻辑判断时,全部的非0数组都视为true,而0视为1;当执行关系和逻辑判断时,返回true或者false。

10-1 关系运算符

    主要用于比较两个同维数的数组的大小,或者比较数组和标量的大小。~=表示不等于。

10-2逻辑运算符

  

10-3 关系和逻辑函数

xor(x,y) 异或操做,当x和y中,一个为真,一个为假时,函数返回true,反之,返回false

any(y) 若是x是向量,当向量中的任意一个元素不为0时,返回true;若是x 是数组,对每一列,若是有一个元素不为0,返回true

all(x)若是x是向量,当向量中的全部元素都不为0时,返回true;若是x 是数组,对每一列,若是全部元素都为0,返回true

相关文章
相关标签/搜索