2.1 MATLAB的数据类型

  • 每种数据类型都是以矩阵的形式存在的
  • 数据类型:数值型、字符型、元胞型、结构体、函数句柄
  • 数值型包含:双精度类型、单精度类型、整型
  • 支持不同数据的转换

2.1.1 变量与常量

1.变量

  • 无须事先声明
  • 无须指定变量类型,MATLAB会自动根据变量的赋值与相关操作来确定变量的类型
  • 命名规则:
    • 区分大小写
    • 必须字母开头,可以包含字母、数字、下划线
    • 变量名长度不超过63个

2.常量

常量 说明
pi 圆周率
Inf 无穷大
NaN 不定值(0/0)
eps 浮点运算的相对精度
realmax 最大的正实数
realmin 最小的正实数
ans 默认变量名
i,j 虚数单位,定义为√-1
  • 定义变量名避免与常量名相同

2.1.2 数值型数据

1.MATLAB的数值精度

MATLAB的数值精度为2-1074,任何绝对值小于2-1074的实数都视为0

2.MATLAB的显示精度

显示精度:MATLAB所能显示的有效位数;默认下,整型则以整型显示,实数 以保留小数点后4位的浮点数显示

显示格式控制;format,digits,vpa

eps
ans = 2.2204e-16 eps
format short
ans =2.220446049250313e-16 eps
format long
ans =2.2204e-16 eps
format rat
ans =2.2204e-16
eps
digits()
ans = / vpa(pi)
ans =3.141592654 vpa(pi,)
ans =3.1415926535897932385

2.1.3 字符型数据

syms a  b %创建符号变量

字符串可以进行加减乘除

2.1.4 元胞数组

元胞数组的基本组成单元是元胞,元胞可以存放任意类型、任意大小的数组,同一元胞数组中个元胞的内容可以不同

元胞数组可以通过赋值语句直接定义(使用{}括号),也可以由cell函数预先分配存储空间再对元胞元素逐个赋值(节约内存占用,提高执行效率)

元胞的创建例如:

a = {[,,],ones(),'matlab'}
a = {× double} {× double} {'matlab'} b = cell(,);
b{,} = [,,];
b{,} = ones();
b{,} = 'matlab';
b = {× double} {× double} {'matlab'}

2.1.5 结构体

也可以存放不同类型的数据类型

和元胞的差异:元胞通过值传递,结构体通过指针传递

定义:直接赋值,或通过struct函数定义

clc,clear,close all;
A.b1 = [,,];
A.b2 = ones();
A.b3 = 'matlab'; B = struct('b1',,'b2',ones(),'b3',',matlab'); >> A A = 包含以下字段的 struct: b1: [ ]
b2: [× double]
b3: 'matlab' >> B B = 包含以下字段的 struct: b1:
b2: [× double]
b3: ',matlab'

2.1.6 函数句柄

用于间接调用一个函数的MATLAB的值或者数据类型

提高函数调用的速度,扩大子函数和私用函数的可调用范围,并迅速获得同名重载函数的位置、类型信息

创建:通过命令fhandle = @ functionname 来创建,如:trig_f = @ sin 或者 sqr = @ (x)x.^2

使用:fhandle(arg1, arg2, ...argn) 或者 fhandle()(无参数)

clc, clear, close all;
sin_f = @sin
a = sin_f(pi); myadd = @(x,y) x+y^;
b1 = myadd(,); a = / b1 =

2.1.7 数据类型间转换

对于图像而言,一般读入为uint8 型数据,需要转换为double类型

im1 = im2double(img)

注意理解一下代码:

clc,clear,close all;
a = '';
b = double(a);
b1 = str2num(a);
c = *a;
d = *b;
e = *b1; a =
b =
b1 =
c =
d =
e =

2.1 MATLAB的数据类型的更多相关文章

  1. MATLAB常用数据类型的转换

    一直以来,在使用MATLAB进行运算的过程中,经常会用到对图像的各种处理,因此需要对图像进行数据转换,因此对经常用到的转换进行整理,方便查看. 1.uint8转化为double用来方便图像的运算: d ...

  2. Matlab基本数据类型

    本文转载自:http://hi.baidu.com/xmf6227/blog/item/97ca2ddf98f1b61f495403cb.html Matlab中有15种基本数据类型,主要是整型.浮点 ...

  3. MATLAB 的数据类型

    在MATLAB中有15种基本的数据类型: 8种整型数据类型.单精度浮点型(float).双精度浮点型(double).逻辑型(logical).字符串型(char).单元数组型(cell).结构体类型 ...

  4. matlab中数据类型

    在MATLAB中有15种基本数据类型,分别是8种整型数据.单精度浮点型.双精度浮点型.逻辑型.字符串型.单元数组.结构体类型和函数句柄.这15种基本数据类型具体如下. 有符号整数型:int8,int1 ...

  5. [转]MATLAB cell数据类型

    细胞型数据类型(cell)使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组. 1.细胞型数据的定义 1)直接赋值定义:细胞型变量在定义时需要使用大括号 ...

  6. Matlab编程知识点

    容易忘记的小知识点: Matlab程序首行程序: clear:close all:clc:程序运行开始最好清理下之前残留的各种数据,不然matlab可能会出错. clear(清理变量空间),close ...

  7. 接触Matlab5年一个总结(Matlab要掌握的一些要点 )

    阅读目录 前言 Matlab的开发环境与简单介绍 Matlab的常见命令 Matlab的灵魂-矩阵操作 Matlab的.m或.fig的编程与技巧 从大二开始接触到matlab,讲真,这是一个我觉得很良 ...

  8. 接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点

    不记得上一次写超过20行的matlab程序是什么时候了,大概是2013年吧,那个时候写过2篇文章,实际用到了 一些matlab的内容,超过200行的matlab程序应该要追溯到2011年了,最近为了帮 ...

  9. C语言与MATLAB接口 编程与实例 李传军编着

    罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...

随机推荐

  1. docker 网络模式详解

    一.前言 Docker作为目前最火的轻量级容器技术,有很多令人称道的功能,如Docker的镜像管理.然而,Docker同样有着很多不完善的地方,网络方面就是Docker比较薄弱的部分.因此,我们有必要 ...

  2. postman安装时提示打不开

    安装postman6.6.1时,提示打不开,如下图: 解决办法: 1.找到以下两个路径直接删除文件,注安装路径不同有可能不同 C:\Users\Administrator\AppData\Roamin ...

  3. Windows下Mysql 用户忘记密码时修改密码

    一般这种情况都可以用安全模式下修改来解决.安全模式下即跳过权限检查,输入账号后直接登录进mysql 1.使用管理员权限打开dos窗口,进入mysql安装目录的bin文件夹下,将Mysql服务关闭 sc ...

  4. 工控漏洞利用框架 - ISF(Industrial Security Framework)

    一. 框架介绍 本框架主要使用Python语言开发,通过集成ShadowBroker释放的NSA工具Fuzzbunch攻击框架,开发一款适合工控漏洞利用的框架.由于Fuzzbunch攻击框架仅适用于P ...

  5. 【转】sscanf函数用法实例

    sscanf() - 从一个字符串中读进与指定格式相符的数据.  函数原型:  Int sscanf( string str, string fmt, mixed var1, mixed var2 . ...

  6. c++ mfc和win32项目

    win32项目是一个底层的窗口的实现过程,它采用的库仅仅是windows.h,我们通过winain作为函数的入口,然后经过窗口类的内容的填写,窗口的注册,创建,显示刷新,到最后的消息循环,这是一个wi ...

  7. CTAP: Complementary Temporal Action Proposal Generation论文笔记

    主要观点:基于sliding window(SW)类的方法,如TURN,可以达到很高的AR,但定位不准:基于Group的方法,如TAG,AR有明显的上界,但定位准.所以结合两者的特长,加入Comple ...

  8. Linux工具之vmstat

    vmstat   (virtual   memory   statistics,虚拟内存统计)的缩写.可以对操作系统的虚拟内存.进程.CPU活动进行监控.     1.命令格式 vmstat [-a] ...

  9. angular打印功能实现方式

    目前主流的前端打印方式有两种:一种是使用浏览器打印功能直接打印页面,另一种是调用本地控件实现.浏览器打印功能单一,不适用于复杂的业务表单,而打印控件可以设计打印模板,实现复杂表单的打印,十分适合复杂的 ...

  10. Android异常与性能优化相关面试问题-内存管理面试问题详解

    内存管理机制概述: 分配机制:操作系统会为每一个进程分配一个合理的内存大小,从而保证每一个进程能够正常的运行,不至于内存不够使用,或者某个进程占用过多的内存. 回收机制:在系统内存不足的时候,系统有一 ...