MATLAB不需要任何类型声明,每当MATLAB遇到新的变量名称时,它都会创建变量并分配适当的内存空间。
如果变量已经存在,则MATLAB会用新内容替换原始内容,并在必要时分配新的存储空间。
Total=42
上面的语句创建一个名为" Total"的1-by-1矩阵,并将值42存储在其中。
MATLAB提供了15种基本数据类型,每种数据类型都存储在矩阵或数组中,此矩阵或数组的大小最小为0×0,并且可以增长到任意大小的矩阵或数组。
下表显示了MATLAB中最常用的数据类型-
Sr.No. | Data Type & 描述 |
---|---|
1 | int8 8位有符号整数 |
2 | uint8 8位无符号整数 |
3 | int16 16位有符号整数 |
4 | uint16 16位无符号整数 |
5 | int32 32位有符号整数 |
6 | uint32 32位无符号整数 |
7 | int64 64位有符号整数 |
8 | uint64 64位无符号整数 |
9 | single 单精度数值数据 |
10 | double 双精度数值数据 |
11 | logical 逻辑值1或0,分别表示true和false |
12 | char 字符数据(字符串存储为字符向量) |
13 | cell array 索引单元格数组,每个单元格能够存储不同维度和数据类型的数组 |
14 | structure 链接:https://www.learnfk.comhttps://www.learnfk.com/matlab/matlab-data-types.html 来源:LearnFk无涯教程网 类似于C的结构,每个结构都具有能够存储不同维度和数据类型的数组的命名字段 |
15 | function handle 指向函数的指针 |
16 | user classes 从用户定义的类构造的对象 |
17 | java classes 从Java类构造的对象 |
使用以下代码创建脚本文件-
str='Hello Learnfk!' n=2345 d=double(n) un=uint32(789.50) rn=5678.92347 c=int32(rn)
编译并执行上述代码后,将产生以下输出-
str=Hello Learnfk! n= 2345 d= 2345 un=790 rn=5678.9 c= 5679
MATLAB提供了用于将值从一种数据类型转换为另一种数据的各种函数,下表显示了数据类型转换函数-
函数 | 用途 |
---|---|
char | 转换为字符数组(字符串) |
int2str | 将整数数据转换为字符串 |
mat2str | 将矩阵转换为字符串 |
num2str | 将数字转换为字符串 |
str2double | 将字符串转换为双精度值 |
str2num | 将字符串转换为数字 |
native2unicode | 将数字字节转换为Unicode字符 |
unicode2native | 将Unicode字符转换为数字字节 |
base2dec | 将基数N的字符串转换为十进制数字 |
bin2dec | 将二进制数字字符串转换为十进制数字 |
dec2base | 将十进制转换为字符串中的基数N |
dec2bin | 将十进制转换为字符串中的二进制数 |
dec2hex | 将字符串中的十进制转换为十六进制数字 |
hex2dec | 将十六进制数字字符串转换为十进制数字 |
hex2num | 将十六进制数字字符串转换为双精度数字 |
num2hex | 将单打和双打转换为IEEE十六进制字符串 |
cell2mat | 将单元格数组转换为数字数组 |
cell2struct | 将单元格数组转换为结构数组 |
cellstr | 从字符数组创建字符串的单元格数组 |
mat2cell | 将数组转换为单元格大小可能不同的单元格 |
num2cell | 将数组转换为单元格大小一致的单元格 |
struct2cell | 将结构转换为单元格数组 |
MATLAB提供了各种函数来识别变量的数据类型,下表提供了确定变量数据类型的函数-
函数 | 用途 |
---|---|
is | 检测状态 |
isa | 判断输入是否为指定类的对象 |
iscell | 判断输入是否为单元格数组 |
iscellstr | 判断输入是否为字符串的单元格数组 |
ischar | 判断项目是否为字符数组 |
isfield | 判断输入是否为结构数组字段 |
isfloat | 判断输入是否为浮点数组 |
ishghandle | 判断是否是对象句柄 |
isinteger | 判断输入是否为整数数组 |
isjava | 判断输入是否为Java对象 |
isologic | 判断输入是否为逻辑数组 |
isnumeric | 判断输入是否为数字数组 |
isobject | 判断输入是否为MATLAB对象 |
isreal | 判断输入是否为实数数组 |
isscalar | 判断输入是否为标量 |
isstr | 判断输入是否为字符数组 |
isstruct | 判断输入是否为结构数组 |
isvector | 判断输入是否为向量 |
class | 判断对象的类别 |
validateattributes | 检查数组的有效性 |
whos | 列出工作区中具有大小和类型的变量 |
使用以下代码创建脚本文件-
x=3 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x=23.54 isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x) x=[1 2 3] isinteger(x) isfloat(x) isvector(x) isscalar(x) x='Hello' isinteger(x) isfloat(x) isvector(x) isscalar(x) isnumeric(x)
运行文件时,它将产生以下输出-
x=3 ans=0 ans=1 ans=1 ans=1 ans=1 x=23.540 ans=0 ans=1 ans=1 ans=1 ans=1 x = 1 2 3 ans=0 ans=1 ans=1 ans=0 x=Hello ans=0 ans=0 ans=1 ans=0 ans=0
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)