目录

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-1 uint8
16位无符号整数 0~2^16-1 uint16
32位无符号整数 0~2^32-1 uint32
64位无符号整数 0~2^64-1 uint64
8位有符号整数 -2^7~2^7-1 int8
16位有符号整数 -2^15~2^15-1 int16
32位有符号整数 -2^15~2^15-1 int32
64位有符号整数 -2^15~2^15-1 int64

以整数形式存储数据:

>> 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

MATLAB 数据及基本运算 --持续更新相关推荐

  1. 非线性优化汇总——Matlab优化工具箱(持续更新中)

    非线性优化汇总--Matlab优化工具箱(持续更新中) 室内定位/导航/优化技术探讨:WX: ZB823618313 原创不易,路过的各位大佬请点个赞 目录 非线性优化汇总--Matlab优化工具箱( ...

  2. 数据库SQL语言学习--数据查询(持续更新中)

    数据库SQL语言学习--数据查询(持续更新中) 上机练习1 1.              启动SQL Server 2008中的 SQL Server Management Studio. 2.   ...

  3. ECharts数据可视化项目-大屏数据可视化【持续更新中】

    ECharts数据可视化项目-大屏数据可视化[持续更新中] 文章目录 ECharts数据可视化项目-大屏数据可视化[持续更新中] 一. 数据可视化ECharts使用 二.技术栈 三.数据可视化 四.可 ...

  4. GIS专业核心课程电子教材配套实验数据汇总(持续更新)

    本文整合了GIS专业核心课程电子pdf教材,包括地理信息系统.地图学.遥感.摄影测量.遥感数字图像处理.工程测量.施工测量.GPS.数字测图.空间数据库.程序设计等,持续更新. 一.ArcGIS10实 ...

  5. GNSS数据下载(持续更新)

    北斗卫星发射时间.原子钟相关信息 http://mgex.igs.org/IGS_MGEX_Status_BDS.php#Satellites https://en.wikipedia.org/wik ...

  6. 李开复微博数据分析--微博爬虫、数据挖掘、数据可视化(持续更新)

    由于不想做测试,内心一直想做数据挖掘/数据分析,果断辞职重新找了,这是第一篇自己出的分析报告,可能还不够专业,以后会继续进步哒,希望小伙伴们多多指导~通过对李开复微博的分析,发现了一些有趣的结论,一一 ...

  7. SpringBoot 整合eazyPoi 4.3.0 Excel数据导入导出(持续更新功能)

    目录 依赖 注解用法说明 @ExcelTarget 绑定Id @Excel 用在字段上面 @ExcelCollection 实体代码 Excel导出 正常数量导出(1-2W条) 大数据量导出 多she ...

  8. 数据仓库在HDFS上存储数据的路径(持续更新中)

    组件名称 WEB UI路径 HDFS 路径 Hive内表t1 http://desktop:9870/explorer.html#/user/hive/warehouse/t1 hdfs://Desk ...

  9. 商业数据分析模型及其核心Python代码_持续更新

    商业数据分析模型_持续更新 一.AARRR模型 二.PEST模型 理论 医美行业应用案例 三.RFM模型 理论 Python实战_核心指标计算 四.SWOT模型 五.5W1H模型 六.流程拆解法 七. ...

最新文章

  1. 兰戈 —— Rango
  2. 【arduino】用VSCode替代Arduino编辑器,arduino VSCode编辑器
  3. python爬虫外贸客户_python 爬虫抓取亚马逊数据
  4. django-模板渲染上下文context-0223
  5. 注意力机制学习(二)——空间注意力与pytorch案例
  6. Linux 账户信息显示和实现账户安全
  7. 【实践】CTR预估在动态样式建模和特征表达学习方面的进展
  8. 不装了,摊牌了,月薪10571元的我是新生代农民工中的一员
  9. Python机器学习数据预处理:读取txt数据文件并切分为训练和测试数据集
  10. rtl8812au linux驱动下载,Ubuntu 16.04 安装 rtl8812au系列 (DWA-182) wireless adapter driver
  11. 12. Laravel 4 迁移数据填充
  12. java统计单机次数_java流类,快速统计出字符次数+++
  13. pcs7 总结20170607
  14. 金蝶服务器显示已离线,金蝶K3提示云服务器已离线
  15. 入行嵌入式开发若干年悟出的道理
  16. android音乐播放器横评,14款Android音乐播放器年度横评 安卓播放器对比测评
  17. (转)【最新】抖音相关工具合集--在线观看,网页版,去水印下载视频,下载音乐,音乐榜单等
  18. ping 计算机名判断机器是否在线,通过ping命令检测主机的存活性
  19. Ubuntu系统的内核架构介绍
  20. 微分算法 非侵入式负荷识别_非侵入式负荷监测的识别方法和关键技术

热门文章

  1. 【图像处理】图形图像中术语
  2. zabbix-agent报active check configuration update from[] started to fail(timeout)【2】
  3. Flex布局(实例篇)
  4. c# winform打包单个exe文件
  5. openEuler@树莓派
  6. 【来日复制粘贴】状态栏随机显示
  7. UI控件之开关按钮(ToggleButton与Switch)
  8. 漫谈数据安全-老板担心敏感数据泄露,该如何建设数据的安全体系?
  9. shell基础正则表达式
  10. 用科技赋能教育创新与重构 华为将教育信息化落到实处