MATLAB不需要任何范例声明或维度语句。当MATLAB碰着新的变量名称时,它将建设变量并分派适当的内存空间。
假如变量已经存在,则MATLAB将利用新内容替换原始内容,并在须要时分派新的存储空间。
譬喻,
total = 136;
上述语句建设一个名为total
的1x1
矩阵,并将值136
存储在个中。
MATLAB数据范例
MATLAB提供15
种根基数据范例。每种数据范例存储矩阵或数组形式的数据。矩阵或数组的最小值是0
到0
,而且是可以到任何巨细的矩阵或数组。
下表显示了MATLAB中最常用的数据范例 –
数据范例 | 描写 |
---|---|
int8 |
8 位有标记整数 |
uint8 |
8 位无标记整数 |
int16 |
16 位有标记整数 |
uint16 |
16 位无标记整数 |
int32 |
32 位有标记整数 |
uint32 |
32 位无标记整数 |
int64 |
64 位有标记整数 |
uint64 |
64 位无标记整数 |
single |
单精度数值数据 |
double |
双精度数值数据 |
logical |
逻辑值为1 或0 ,别离代表true 和false |
char |
字符数据(字符串作为字符向量存储) |
单位格阵列 | 索引单位阵列,每个都可以或许存储差异维数和数据范例的数组 |
布局体 | C型布局,每个布局具有可以或许存储差异维数和数据范例的数组的定名字段 |
函数处理惩罚 | 指向一个函数的指针 |
用户类 | 用户界说的类结构的工具 |
Java类 | 从Java类结构的工具 |
示例
利用以下代码建设剧本文件(datatype1.m) –
str = 'Hello World!'
n = 2345
d = double(n)
un = uint32(789.50)
rn = 5678.92347
c = int32(rn)
当上述代码被编译和执行时,它发生以下功效 –
Trial>> datatype1
str =
'Hello World!'
n =
2345
d =
2345
un =
uint32
790
rn =
5.6789e+03
c =
int32
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提供了用于识别变量数据范例的各类函数。
#p#分页标题#e#
下表提供了确定变量数据范例的函数 –
函数 | 描写说明 |
---|---|
is |
检测状态 |
isa |
确定输入是否是指定类的工具 |
iscell |
确定输入是单位格数组 |
iscellstr |
确定输入是字符串的单位格数组 |
ischar |
确定项目是否是字符数组 |
isfield |
确定输入是否是布局数组字段 |
isfloat |
确定输入是否为浮点数组 |
ishghandle |
确定是否用于处理惩罚图形工具句柄 |
isinteger |
确定输入是否为整数数组 |
isjava |
确定输入是否为Java工具 |
islogical |
确定输入是否为逻辑数组 |
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 = 1177/50
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