MATLAB 数据及基本运算 --持续更新

目录

2.1 MATLAB 的数值数据及操作
        2.1.1 数值数据
        2.1.2 数据的输出格式
2.2 MATCAB的变量及操作
        2.2.1 变量与赋值
        2.2.2 变量的管理
2.3 MATLAB的矩阵
        2.3.1 创建矩阵
        2.3.2 引用矩阵元素

2.1 MATLAB 的数值数据及操作

MATLAB的数值数据是最基本的一种数据类型,包括 整形、浮点型和复数型。每种类型系统都分配了不同字节数的内存单元,默认情况数值按双精度浮点类型存储和处理。

2.1.1 数值数据

1. 数值数据类型

1)整形。有符号整数和无符号整数。

表2-1 MATLAB的整形数据
类型取值范围转换函数
8位无符号整数0~2^8-1uint8
16位无符号整数0~2^16-1uint16
32位无符号整数0~2^32-1uint32
64位无符号整数0~2^64-1uint64
8位有符号整数-2^7~2^7-1int8
16位有符号整数-2^15~2^15-1int16
32位有符号整数-2^15~2^15-1int32
64位有符号整数-2^15~2^15-1int64

以整数形式存储数据:

>> x=int16(12)

x =

  int16

   12

使用表2-1的转换函数将浮点型数据转换为整数时,MATLAB将舍入到最接近的整数。如果小数部分刚好时0.5,则会从两个临近的整数中取绝对值最大的整数。例如:

>> x=int16([1.2, 2.5, 0.1, -1.5])

x =

  1×4 int16 行向量

    1    3    0   -2

其它用于指定方式将浮点型数据转换为整形的函数:

① 1round:四舍五入为最近的小数或整数

② fix: 超零方向取整数

③ floor:朝负无穷达方向取整数

④ ceil:朝正无穷大方向取整数

>> x=round([1.2, 1.6, -1.1, -1.9, -0.2, 1.11, 1.55])

x =

     1     2    -1    -2     0     1     2

>> x=fix([1.2, 1.6, -1.1, -1.9, -0.2, 1.11, 1.55])

x =

     1     1    -1    -1     0     1     1

>> x=floor([1.2, 1.6, -1.1, -1.9, -0.2, 1.11, 1.55])

x =

     1     1    -2    -2    -1     1     1

>> x=ceil([1.2, 1.6, -1.1, -1.9, -0.2, 1.11, 1.55])

x =

     2     2    -1    -1     0     2     2

 2)浮点型。包含 4字节单精度(single)和 8字节双精度(double)两种

3)复型。复型数据包括实部和虚部两个部分,默认都是双精度类型。序数单位用i或j表示。

>> x=1+2i

x =

   1.0000 + 2.0000i

 通过 complex函数创建复数。

>> y=complex(1,2)

y =

   1.0000 + 2.0000i

 real 获取复数实部,imag获取复数虚部

>> real(y)

ans =

     1

>> imag(y)

ans =

     2 

2. 判断数据类型

表2-2 判断数据类型的函数
函数     说明
isinteger(n)判断n是否为整型
isfloat(n)判断n是否为浮点型
isnumeric(n)判断n是否为数值型
isreal(n)判断n是否为实数

3. 获取数值数据的特殊值

表2-3 获取数值数据的特殊值的函数
函数说明
eps浮点相对精度
intmax整数类型的最大值
intmin整数类型的最小值
realmax最大正实数
realmin最小正实数

注:eps是一个接近0但不等于0的数。通常在做除法运算时,给分母加上eps可以防止分母为0而出现结果异常

2.1.2 数据的输出格式

        MATLAB用十进制表示一个常数,采用日常计数法和科学计数法两种表示方法。例如:1.234、-1.05356i、3.3+5i等是采用日常计数法表示的常数,又如:1.12345e2、1.112E-5-10i等采用科学计数法表示常数1.12345*10^2、1.112*10^-5-10i。这里的字母e或E表示以10位底的指数.

        MATLAB默认使用双精度来表示和存储,可通过format设置或改变数据的输出格式。

                                                          format  格式符

表2-4 控制数据输出格式的各种格式符及其含义
格式符含义
short固定十进制短格式(默认格式),小数点后有4位有效数字
long固定十进制长格式,小数点后有15位有效数字
shortE短科学计数法,小数点后有4位有效数字
longE长科学计数法,输出为double类型时,小数点后有15位有效数字;输出single类型时,小数点后有7位有效数字
shortG从short和shortE中自动选择最紧凑的输出方式
longG从long和longE中自动选择最紧凑的输出方式
rat近似有理数格式
hex  十六进制格式
+正/负格式,正数、负数、零分别用+、-、空格表示
bank货币格式、输出时,小数点后有2位有效数字 
compact输出时隐藏空行
loose输出时有空行

注:format 命令只影响数据的输出格式,而不影响数据的计算和存储

2.2 MATCAB的变量及操作

 2.2.1 变量与赋值

1. 变量命名

 变量名是以字母开头,后跟字母,数字或下划线的字符序列,最多63个字符。 定义变量时应当避免创建与预定义变量、函数同名的变量。

2. 赋值语句

变量=表达式

表达式

 2.2.2 变量的管理

1. 内存变量的显示与修改

Who 命令按字母顺序列出当前工作区中的所有变量,whos在工作区中按字母顺序列出当前工作区中的所有变量及大小、类型。

>> who

您的变量为:

aa   ans  b    c    d    x    y    

>> whos
  Name      Size            Bytes  Class     Attributes

  aa        3x1                24  double              
  ans       1x8                16  char                
  b         4x1                32  double              
  c         4x1               432  cell                
  d         1x2               536  cell                
  x         1x1                16  double    complex   
  y         1x1                16  double    complex   

>> 

 clear 命令用于清除MATLAB工作区中的变量,但预定义变量不会被清除。

2.3 MATLAB的矩阵

在MATLAB中创建矩阵时无须对数组的维度和类型进行说明,MATLAB会自动根据用户输入的内容进行配置

1. 使用矩阵构造运算符([]) 创建矩阵

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

A =

     1     2     3
     4     5     6

2. 使用冒号表达式创建向量

格式如下:

a:b:c

其中,a为初始值,b为步长,c为终止值。 

>> t = 0:2:11

t =

     0     2     4     6     8    10

 冒号表达式中,如果省略b,则步长为1:

>> t = 0:11

t =

     0     1     2     3     4     5     6     7     8     9    10    11
 

可以使用linspace构建线性等间距的行向量:

格式如下:

linspace(a:b:n)

其中 a是生成向量的第一个元素,b是最后一个元素,n是指定向量元素的个数。 如果n省略不写,则默认生成100个元素。

>> linspace(1,20,5)

ans =

    1.0000    5.7500   10.5000   15.2500   20.0000

 3. 利用小矩阵创建更大的矩阵

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

A =

     1     2     3
     4     5     6

>> B=[11,12;13,14]

B =

    11    12
    13    14

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

C =

     1     2     3    11    12
     4     5     6    13    14
    11    12     1     2     3
    13    14     4     5     6

4. 获取数组大小 

1)size 函数

size 函数用于获取数组指定维度的长度

size(A,dim)

如果dim省略,则返回一个向量。

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

A =

     1     2     3
     4     5     6

>> size(A,1)

ans =

     2

>> size(A)

ans =

     2     3

 2)  length 函数 返回最大数组维度的长度,numel 函数用于获取数组元素的个数。

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

A =

     1     2     3
     4     5     6

>> length(A)

ans =

     3

>> numel(A)

ans =

     6
 

 3) sub2ind 和 ind2sub

数组元素可以通过下标引用,也可以通过索引引用。

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

A =

     1     2     3
     4     5     6

>> A(2)

ans =

     4

>> A(1,2)

ans =

     2

>> [r,c] = ind2sub(size(A),2)

r =

     2


c =

     1

>> sub2ind(size(A),1,3)

ans =

     5

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值