Matlab:基础知识与数据对象

基本操作

Matlab是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。下面简单介绍Matlab的基础知识。

操作界面

Matlab操作界面主要有菜单栏、快速访问工具栏、当前文件夹工具栏、命令行窗口与工作区组成。如下图:

在这里插入图片描述

  • 菜单栏:由主页、绘图、APP三个选项卡组成,每个选项卡中包含对应的功能。
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

  • 快速访问工具栏:提供对常用操作(保存、剪切、复制、粘贴、撤销、重做、切换窗口、搜索等)的访问。
    在这里插入图片描述

  • 当前文件夹工具栏:Matlab当前的工作目录,用户可以自行设定。
    在这里插入图片描述

  • 命令行窗口:用于输出命令并显示数值的执行结果。
    在这里插入图片描述

  • 工作区:存储各种变量与结果的内存空间。
    在这里插入图片描述

基本规则

1.命令格式
一般来说,一个命令行输入一条命令,命令行以回车结束。但一个命令行也可以输入若干条命令,各命令之间以逗号分隔。若命令执行后,不需要显示某个变量的值,则在对应命令后加上分号。
在这里插入图片描述

2.续行符
如果一个命令行很长,一个物理行之内写不下,可以在第1个物理行之后加上续行符“…”,然后接着在下一个物理行继续写命令的其他部分。
在这里插入图片描述

命令函数

命令函数 作用
help命令 查询函数语法
clc命令 清空命令行窗口
clear命令 清空工作区
global命令 声明全局变量
who命令 列出当前变量
quit命令 停止

数值数据

数值数据(Numerical Data)或称为数字数据,是数据中的一种。一般来说是按数字尺度测量的观察值,其结果表现为具体的数值或可计数出来的数据。现实中所处理的大多数都是数值型数据。数值数据类型分类:整型、浮点型与复型。

整型

整数(Integer),是正整数、零、负整数的集合。
在Matlab中,整型包括无符号整型和有符号整型。其中,无符号整型只表示大小的整型,即永远为非负的整型变量,大于0的数据范围约扩大为原来的2倍;有符号整型表示正负大小的整型,最高位储存符号。

整数类型 取值范围 相应函数
无符号8位整数 [0,28-1] uint8()
无符号16位整数 [0,216-1] uint16()
无符号32位整数 [0,232-1] uint32()
无符号64位整数 [0,264-1] uint64()
有符号8位整数 [-27,27-1] int8()
有符号16位整数 [-215,215-1] int16()
有符号32位整数 [-231,231-1] int32()
有符号64位整数 [-263,263-1] int64()
  • 注: 在Matlab中整数类型可以实现相互转换,但当转换结果超出相应的整数类型的范围时,运算结果则为该整数类型的数值的最大值或最小值。
>> %注释:示例1
>> a = uint8(256)

a =

  uint8

   255

>> %注释:示例2
>> b = uint16(-1)

b =

  uint16

   0

>> %注释:示例3
>> c = int32(2147483648)

c =

  int32

   2147483647

>> %注释:示例4
>> d = int8(-129)

d =

  int8

   -128

浮点型

浮点数即小数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。
在Matlab中,浮点型包括单精度浮点型与双精度浮点型,用于存储和处理实型数据。其中,单精度浮点型占用4个字节(32位);双精度浮点型占用8个字节(64位),数值默认存储的类型是双精度浮点型。

浮点类型 取值范围 (科学记数法) 相应函数
单精度浮点型 [-3.4028e+38,3.4028e+38] single()
双精度浮点型 [-1.7977e+308,1.7977e+308] double()
>> %注释:示例1
>> a=8;
>
  • 17
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
数据挖掘与数据分析 数据挖掘与数据分析 ⼀、数据挖掘和数据分析概述 数据挖掘和数据分析都是从数据中提取⼀些有价值的信息,⼆者有很多联系,但是⼆者的侧重点和实现⼿法有所区分。 数据挖掘和数据分析的不同之处: 1、在应⽤⼯具上,数据挖掘⼀般要通过⾃⼰的编程来实现需要掌握编程语⾔;⽽数据分析更多的是借助现有的分析⼯具进⾏。 2、在⾏业知识⽅⾯,数据分析要求对所从事的⾏业有⽐较深的了解和理解,并且能够将数据与⾃⾝的业务紧密结合起来;⽽数据挖掘不需 要有太多的⾏业的专业知识。 3、交叉学科⽅⾯,数据分析需要结合统计学、营销学、⼼理学以及⾦融、政治等⽅⾯进⾏综合分析;数据挖掘更多的是注重技术层⾯的结 合以及数学和计算机的集合 数据挖掘和数据分析的相似之处: 1、数据挖掘和数据分析都是对数据进⾏分析、处理等操作进⽽得到有价值的知识。 2、都需要懂统计学,懂数据处理⼀些常⽤的⽅法,对数据的敏感度⽐较好。 3、数据挖掘和数据分析的联系越来越紧密,很多数据分析⼈员开始使⽤编程⼯具进⾏数据分析,如SAS、R、SPSS等。⽽数据挖掘⼈员 在结果表达及分析⽅⾯也会借助数据分析的⼿段。⼆者的关系的界限变得越来越模糊。 ⼆、数据挖掘 1 数学预备知识 概率论:⽀撑整个数据挖掘算法和机器学习算法的数学基础,要熟悉常见的⼀些概率分布。 矩阵论:线性代数中对数据挖掘最有⽤的部分,还有⼀些线性空间相关知识也很重要。 信息论:将信息和数学紧密连接在⼀起并完美的表达的桥梁,需要掌握信息熵、信息增益等相关知识。 统计学:数据分析最早的依赖基础,通常和概率论⼀起应⽤,现在的机器学习和数据挖掘很多都是基于统计的,常见的均值、⽅差、协⽅差 等都要熟练掌握。 2 编程基础 数据挖掘需要⼀定的编程基础,因为要实现模型以及数据的处理很多⼯作都是需要程序来进⾏的,数据挖掘常⽤的编程语⾔如下: SQL:数据库的熟练使⽤是任何数据挖掘⼈员必不可少的技能。 C++ :有很多的标准模板库以及机器学习模型库进⾏调⽤可以⽅便编程实现。 Python:对字符串处理有极⼤的优势,是解释型语⾔,实现简单,⽽且有很多开源的机器学习模型库的⽀持,可处理⼤规模数据Matlab:拥有强⼤的矩阵运算,也是解释型语⾔,有很多发展较成熟库可以直接调⽤,⽀持数据结果的可视化表⽰,但是处理数据量有 限。 R:近年兴起的数据分析编程语⾔,数据可视化做的⽐较好,语法简单,学习成本很低,很多⾮程序设计⼈员都可以数量掌握。 Java:使⽤范围最⼴的编程语⾔,有很多社区进⾏交流,进⾏编程实现具有灵活⾼效的特点,不⾜之处就是实现功能的代码量较⼤(相对于 其他数据挖掘编程语⾔)。 Scala: ⼀种具有⾯向对象风格、函数式风格、更⾼层的并发模型的编程语⾔。同时Scala是⼤数据处理平台Spark的实现语⾔。 3 数据挖掘的模型知识 机器学习和数据挖掘是紧密相关的,要进⾏数据挖掘需要掌握⼀些机器学习所⽤的⽅法和模型知识,通过模型的训练可以得到处理数据的最 优的模型。数据挖掘常⽤的模型如下: 3.1 监督学习模型 就是⼈们常说的分类,通过已有的训练样本(即已知数据以及其对应的输出)去训练得到⼀个最优模型(这个模型属于某个函数的集合,最 优则表⽰在某个评价准则下是最佳的),再利⽤这个模型将所有的输⼊映射为相应的输出,对输出进⾏简单的判断从⽽实现分类的⽬的,也 就具有了对未知数据进⾏分类的能⼒。 3.1.1决策树: 决策树是⽤于分类和预测的主要技术之⼀,决策树学习是以实例为基础的归纳学习算法,它着眼于从⼀组⽆次序、⽆规则的实例中推理出以 决策树表⽰的分类规则。构造决策树的⽬的是找出属性和类别间的关系,⽤它来预测将来未知类别的记录的类别。它采⽤⾃顶向下的递归⽅ 式,在决策树的内部节点进⾏属性的⽐较,并根据不同属性值判断从该节点向下的分⽀,在决策树的叶节点得到结论。 主要的决策树算法有ID3、C4.5(C5.0)、CART、PUBLIC、SLIQ和SPRINT算法等。它们在选择测试属性采⽤的技术、⽣成的决策树的 结构、剪枝的⽅法以及时刻,能否处理⼤数据集等⽅⾯都有各⾃的不同之处。 3.1.2 贝叶斯⽅法: 贝叶斯(Bayes)分类算法是⼀类利⽤概率统计知识进⾏分类的算法,如朴素贝叶斯(Naive Bayes)算法。这些算法主要利⽤Bayes定理 来预测⼀个未知类别的样本属于各个类别的可能性,选择其中可能性最⼤的⼀个类别作为该样本的最终类别。由于贝叶斯定理的成⽴本⾝需 要⼀个很强的条件独⽴性假设前提,⽽此假设在实际情况中经常是不成⽴的,因⽽其分类准确性就会下降。为此就出现了许多降低独⽴性假 设的贝叶斯分类算法,如TAN(Tree Augmented Native Bayes)算法,它是在贝叶斯⽹络结构的基础上增加属性对之间的关联来实现 的。
随着信息技术的不断发展,数字图像处理技术越来越多地被应用在航空航天、生物医学工程、工业检测、机器人视觉、军事制导和文化艺术等各个领域。图像处理日益成为一门引人注目、前景远大的学科,而MATLAB语言以强大的科学运算、灵活程序设计流程、高质量的图形可视化与界面设计、与其他程序和语言便捷的接口功能,成为当今国际上科学界最具影响力、最有活力的软件。MATLAB又称矩阵实验室,其强大的矩阵运算能力是其它语言无法比拟的,而矩阵运算正是图像处理的根本所在。因此,本文以MATLAB提供的图形用户界面(GUI)为平台对图像处理系统进行设计。依据软件开发的设计原则,确定了设计的一般步骤,具体如下: (1)明确系统所要实现的主要功能,应该具有哪些模块。 (2)绘出基本的用户界面草图,并对其进行修改,最终确定一个方案。 (3)根据最终确定的方案,利用MATLAB GUI制作用户操作界面以及其他菜单项目。 (4)编写界面及其菜单里的每个功能的回调程序,并且逐项进行功能检测。根据以上的步骤,首先利用MATLAB图形用户界面设计了该系统的静态界面。当静态界面设计完成之后,GUI将自动生成.FIG和.M文件。其中.FIG文件保存了关于静态窗口界面的所有对象的属性值,.M文件包括GUI设计、控制函数以及为子函数的用户控件回调函数,主要用于控制GUI展开时的各种特征。这个.M文件可以分为GUI初始化和回调函数两个部分,用户控件的回调函数根据用户与GUI的具体交互方式分别调用。回调函数就是在调用对象时,该对象所要回应的动作。 因此,如何编写对象的回调函数是该系统的一大难点。在为编写回调函数时,获得该函数的句柄是实现对象动作功能的关键所在。句柄实际上就是分配给每个对象的数字标识,每次创建对象时,MATLAB就会自动为它创建一个唯一的句柄,这样只要我们能找到该句柄,就能对该对象进行操作。本文首先简单的介绍了MATLAB GUI的基本知识,为系统的界面的设计提供了理论基础;接着系统的介绍了数字图像的一些基础,主要包括图像文件格式,图像的类型以及颜色空间模型,在系统中这些都有所体现;然后详细的介绍了数字图像处理的一些常用技术,这些技术和方法在系统中大都很好的实现了。 本系统实现了图像处理技术中比较实用的若干功能,而且操作简单,容易上手。该系统支持索引图像、灰度图像、二值图像、RGB图像等图像类型;支持BMP、GIF、JPEG、TIFF、PNG等图像文件格式的读,写和显示。并具有很多图像处理功能,例如图像类型转换功能实现了色彩图像、索引图像和二值图像之间的相互转换;编辑功能实现了对图像的旋转和添加噪声操作;图像滤波部分包括中值滤波、巴特沃斯滤波器、邻域平均滤波;图像变换模块主要是傅里叶变换、离散余弦变换、Hough变换和Radon变换;在边缘检测功能中,主要用到了Roberts算子、Sobel算子、Prewitt算子、LoG算子、Canny算子和零交叉法。 其他的模块主要是颜色空间的转换和显示当前的时间和日期。以上这些功能的实现都是在MATLAB语言的基础上,编写M文件程序代码实现的。QPSK调制全称Quadrature Phase Shift Keying,http://blog.sina.com.cn/s/blog_a5b5b79e0101rwlf.html,意为正交相移键控,是一种数字调制方式。它的频带利用率高,且抗干扰性能强,已经成为现代通信技术中一种十分重要的调制解调方式。之所以选择这些功能,是因为这些技术在我们日常的生活中有很强的的应用价值,并且对于一些算法运算量大、算术复杂、处理速度低的技术,可以利用MATLAB简单快捷的得到数据结果,又能够得到直观的图示。 提出了基于普通PC机声卡的LabVIEW和MATLAB的虚拟式语音信号采集与分析处理的设计方案。MATLAB http://blog.sina.com.cn/s/blog_a5b5b79e0101rtqj.html具有很强大的数学计算和图形绘制功能,但它在界面开发能力、数据输入、网络通信、硬件控制方面都比较繁琐,在信号和图像处理等领域具有无可比拟的优势;而LabVIEW刚好是标准的数据采集和仪器控制软件,以其强大的数据采集、数据分析和仪器控制功能在现代测控领域中得到了广泛的应用,但在数值处理分析和算法工具等方面效率低,功能简单,不能满足工程上多方面的要求。将两者结合起来,取长补短,是快速高效开发语音信号和分析系统的一种有效的方法。通过收集资料、整理、归纳出对于语音信号采集与分析的技术手段,综合成本低,便于实现,发挥软件优势的这些因素,选择了该种方案。首先,本课题从学生研究角度的实际情况出发,在分析了语音信号采集的理论知识基础上,基于PC机的集成声卡,运用LabVIEW操作声卡录制一段自己说话的语音信号。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

啊Q老师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值