numeric | 数值 |
---|---|
char | 字符 |
logical | 逻辑 |
– | – |
cell | 单元、细胞、元胞 |
struct | 结构 |
整数:带符号和无符号
浮点数:单精度和双精度
在缺省(默认)状态下,Matlab 将所有的数都看作是双精度的浮点数。
IEEE标准,64位 (占8字节),11指数位,53数值位和一个符号位
double( ) 函数的转换
uint8,无符号8位整形数据类型,值域为0至255,常用于图像表示和处理。(节省存储空间,提高处理速度)
int8( ), int16( ), int32( ),uint16( ), uint32( )
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]
str=char([77,97,116,108,97,98])
str=char(str1,str2)
按 ASCII 码转换:
字符数组到数值数组:double
数值数组到字符串:char
直接转换数值数组与字符数组:
数值矩阵到字符数组:num2str、int2str、mat2str
字符数组到数值数组:str2num
char 的输入参数范围为 [0,65535],当输入参数中有小数时,直接将小数部分舍去。
num2str 直接将每个数字转换成字符
mat2str 把整个矩阵转换成字符行向量,包括矩阵中的方括号、空格 和 分号(逗号自动去除)
数值数组转换为字符数组后,表面上看象一个数值数组,但此时的元素是字符而不是数字
直接使用中括号:
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);
celldisp | 输出细胞变量的内容 |
---|---|
cellplot | 用图形方式显示细胞变量 |
iscell | 判别一个变量是否为细胞变量 |