Matlab变量及运算(常用数据类型、数值型、整型数据、浮点数、复数、字符与字符串、细胞数组)

常用数据类型

numeric数值
char字符
logical逻辑
cell单元、细胞、元胞
struct结构

数值型

整数:带符号和无符号
浮点数:单精度和双精度

在缺省(默认)状态下,Matlab 将所有的数都看作是双精度的浮点数。

双精度数值变量

IEEE标准,64位 (占8字节),11指数位,53数值位和一个符号位
double( ) 函数的转换

整形数据

uint8,无符号8位整形数据类型,值域为0至255,常用于图像表示和处理。(节省存储空间,提高处理速度)
int8( ), int16( ), int32( ),uint16( ), uint32( )
在这里插入图片描述

整型数据的运算

1.不同整型数据之间不能进行运算

2.整型数据可以和双精度标量进行数值运算,结果为整数。在运算过程中保持浮点运算精度,最后将结果转换成整型。(整型数据不能与不是标量的双精度数组进行运算)

最大整数与最小整数

intmax和intmin函数

intmax=intmax(‘int32’)
intmin=intmin(‘int32’)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

浮点数

浮点数包括单精度(占四个字节)和双精度(占八个字节),默认为双精度

浮点数转换函数

single:将数据转换成单精度浮点数
double:将数据转换成双精度浮点数
在这里插入图片描述

最大和最小浮点数

在这里插入图片描述

复数

定义复数:
直接输入:
z=3+4i
使用complex函数:
z=complex(3,4);
在这里插入图片描述

字符与字符串

字符串必须用单引号

str1='hello world'

字符是由多个字符组成的字符行向量

str2=['h','e','l','l','o']

字符数组必须是放的,即每行的字符个数必须想等

str3=['h','e','l';'l','o','w']

在这里插入图片描述
在这里插入图片描述
matlab中字符是以ASCII码存储的,因而区分大小写,可用double函数查看字符的ASCII码

字符串的生成

直接赋值

str1='hello';
str2='world';
str3=[str1,str2]

在这里插入图片描述
使用char函数:

str=char([77,97,116,108,97,98])
str=char(str1,str2)

在这里插入图片描述

字符串与数值数组

按 ASCII 码转换:
字符数组到数值数组:double
数值数组到字符串:char
直接转换数值数组与字符数组:
数值矩阵到字符数组:num2str、int2str、mat2str
字符数组到数值数组:str2num
在这里插入图片描述char 的输入参数范围为 [0,65535],当输入参数中有小数时,直接将小数部分舍去。
num2str 直接将每个数字转换成字符
mat2str 把整个矩阵转换成字符行向量,包括矩阵中的方括号、空格 和 分号(逗号自动去除)
在这里插入图片描述
数值数组转换为字符数组后,表面上看象一个数值数组,但此时的元素是字符而不是数字
在这里插入图片描述

double、char 是按 ASCII码 进行转换

num2str、int2str、mat2str、str2num 是直接进行转换

字符串的合并

水平合并

直接使用中括号:

str1=['hello','world']

使用strcat函数:

str2=strcat('hello','world')

垂直合并

直接使用中分号:

str3=['hello  ';'myworld']

使用strvcat函数

str4=strvcat('hello','myworld')

允许字符串

eval

str='1+2';
a=eval(str)
str1='figure(1); mesh(peaks(60))'
str2='figure(2); waterfall(peaks(60))'
eval(str1)
eval(str2)
strcmp比较字符串
strcmpi忽视大小写比较字符串
upper转换为大写
blanks产生空字符串
strmatch查找匹配的字符串
strjust对其字符数组,包括左对齐、右对齐和居中
strrep替换字符串
strncmp比较字符串的前n个字符
lower转换为小写
deblank删除字符串中的空格
findstr在一个字符串中查找另一个字符串
strtok返回字符串中第一个分隔符

细胞数组

Matlab 从 5.0 版开始引入了一种新的数据类型 — 细胞 ( cell ),该结构可以把不同类型的数据纳入到一个变量中。
普通数组中的每个元素都必须具有相同的数据类型,而细胞则没有此要求。
细胞变量的表示方法类似于带有下标的数组,但这些下标不是用圆括号括起来,而是使用大括号

定义细胞数组

直接定义:

A=[1 2;3 4];
str='hello';
M={1:4,A,str};
celldisp(M);

用 cell 函数预先分配存储空间,然后对细胞的每个元素逐个赋值:

cell(m,n);

生成一个m行n列的细胞数组
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

相关函数

celldisp输出细胞变量的内容
cellplot用图形方式显示细胞变量
iscell判别一个变量是否为细胞变量

在这里插入图片描述在这里插入图片描述

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值