2.1 MATLAB的数据类型
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的数据类型的更多相关文章
- MATLAB常用数据类型的转换
一直以来,在使用MATLAB进行运算的过程中,经常会用到对图像的各种处理,因此需要对图像进行数据转换,因此对经常用到的转换进行整理,方便查看. 1.uint8转化为double用来方便图像的运算: d ...
- Matlab基本数据类型
本文转载自:http://hi.baidu.com/xmf6227/blog/item/97ca2ddf98f1b61f495403cb.html Matlab中有15种基本数据类型,主要是整型.浮点 ...
- MATLAB 的数据类型
在MATLAB中有15种基本的数据类型: 8种整型数据类型.单精度浮点型(float).双精度浮点型(double).逻辑型(logical).字符串型(char).单元数组型(cell).结构体类型 ...
- matlab中数据类型
在MATLAB中有15种基本数据类型,分别是8种整型数据.单精度浮点型.双精度浮点型.逻辑型.字符串型.单元数组.结构体类型和函数句柄.这15种基本数据类型具体如下. 有符号整数型:int8,int1 ...
- [转]MATLAB cell数据类型
细胞型数据类型(cell)使不同类型和不同维数的数组可以共存,细胞型数组实际上可以认为是一种以任意形式的数组为分量的多维数组. 1.细胞型数据的定义 1)直接赋值定义:细胞型变量在定义时需要使用大括号 ...
- Matlab编程知识点
容易忘记的小知识点: Matlab程序首行程序: clear:close all:clc:程序运行开始最好清理下之前残留的各种数据,不然matlab可能会出错. clear(清理变量空间),close ...
- 接触Matlab5年一个总结(Matlab要掌握的一些要点 )
阅读目录 前言 Matlab的开发环境与简单介绍 Matlab的常见命令 Matlab的灵魂-矩阵操作 Matlab的.m或.fig的编程与技巧 从大二开始接触到matlab,讲真,这是一个我觉得很良 ...
- 接触Matlab10年后的一个总结,随时使用Matlab要掌握的一些要点
不记得上一次写超过20行的matlab程序是什么时候了,大概是2013年吧,那个时候写过2篇文章,实际用到了 一些matlab的内容,超过200行的matlab程序应该要追溯到2011年了,最近为了帮 ...
- C语言与MATLAB接口 编程与实例 李传军编着
罗列一下以前自己学习C语言与MATLAB混编的笔记,顺便复习一遍. <C语言与MATLAB接口 编程与实例 李传军编着>(未看完,目前看到P106) 目录P4-8 ************ ...
随机推荐
- MySQL之常用查询
1) 查询字符集 show variables like 'character%'; 2)查看版本 select version(); 3) 共享表空间的数据文件存储路径 show variables ...
- Angular 开发环境搭建
Angular 是一款开源 JavaScript 框架,由Google 维护,用来协助单一页面应用程序运行的.它的目标是增强基于浏览器的应用,使开发和测试变得更加容易.目前最新的 Angular 版本 ...
- Creating a PXE Configuration File
The PXE configuration file defines the menu displayed to the pxe client host as it boots up and co ...
- urllib.parse:很底层,但是是一个处理url路径的好模块
介绍 urllib.parse是为urllib包下面的一个模块,urllib的其它模块完全可以使用requests替代.但是urlli.parse我们是有必要了解的,因为该模块下面有很多操作url路径 ...
- JAVA程序员成长路线图
https://www.cnblogs.com/godtrue/p/4283708.html
- 【C/C++】内存对齐规则和实战
内存对齐规则和实战 这篇文章是我的平时的一个笔记修改后来的.这里主要介绍一下内存对齐的规则,以及提供一些实战一下.几篇我觉得比较好的详细的介绍内存对齐的作用什么的博文会在文末附上. 规则 在开始实战前 ...
- 初次安装虚拟机WindowsServer2016
因学习需要,安装windosServer2016,遇到了几个小坑,特地分享一下. 一.windows server 2016 登录 在登录是会出现 输入CTRL+ALT+DEL,才能响应进入用户界面, ...
- centos7安装BitCoin客户端
一.安装依赖环境 [root@localhost src]# yum install autoconf automake libtool libdb-devel boost-devel libeven ...
- 【获取url 问号后参数】防中文乱码
function getQueryString(name) { var reg = new RegExp("(^|&)" + name + "=([^&] ...
- 广告域名审核之后跳转技术:点击域名A页面iframe框架下的链接,域名A跳转到域名B
广告域名审核之后跳转技术:点击域名A页面iframe框架下的链接,域名A跳转到域名B注:域名B为afish.cnblogs.com 域名A页面代码:<!DOCTYPE html PUBLIC & ...