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 ************ ...
随机推荐
- 帝国cms 此栏目暂无任何新增信息处理办法
在做一个新网站的时候不能保证每个栏目都能填充内容,当某个栏目没有内容填充的时候总会出现“此栏目暂无任何新增信息”看着挺不舒服. 其实想删除这行字也挺简单,只需要修改下语言包即可!如下: 找到语言包文件 ...
- javascript中的所有内容都是一个对象:字符串、值、数组、函数…
javascript中的所有内容都是一个对象:字符串.值.数组.函数…此外,javascript允许自定义对象.javascript对象JavaScript提供多个内置对象,如字符串.日期.数组等.对 ...
- 非JAVA WEB项目提供Http接口调用实现
package com.monitor.app.utils; import com.alibaba.fastjson.JSON; import com.google.gson.Gson; import ...
- 记录-Intellij Idea下以Tomcat运行Web项目时的位置问题
今天本来准备把原来的一个Web项目导入到Idea下,之前这个项目是用eclipse写的,容器用的tomcat,首先导入前我把一些没用的配置文件都给删了,像什么.eclipse..setting什么的, ...
- 纯净CentOS搭建harbor镜像私仓
物理宿主机IP: 192.168.1.4 在官网下载 CentOS-7-x86_64-DVD-1810 用Hyper-v建立一代虚机,安装时遇分辨率问题无法继续,需要在选择启动界面按TAB键以编辑启 ...
- js基本事件
1:单击事件 --onclick function test01(){ alert("js的单击事件"); } 2:双击事件--ondblclick function test02 ...
- Centos网卡名称命名
1. vim /etc/sysconfig/grub 编辑/etc/sysconfig/grub文件 添加 net.ifnames=0 biosname=0 GRUB_TIMEOUT= GR ...
- Binlog_master
二进制日志 记录导致数据改变或潜在导致数据改变的SQL语句 记录已提交的日志 不依赖于存储引擎类型 功能:通过"重放"日志文件中的事件来生成数据副本 注意:建议二进制日志和数据文件 ...
- CSS基础学习-13.CSS 浮动
如果前一个元素设置浮动属性,则之后的元素也会继承float属性,我觉得这里说是继承不太对,可以理解为会影响到之后的元素,所以在设置浮动元素之后的元素要想不被影响就需要清除浮动.元素设置左浮动,则清除左 ...
- 第六章 组件 63 组件传值-父组件向子组件传值和data与props的区别
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8&quo ...