MATLAB不需要任何类型声明或维度语句。当MATLAB遇到新的变量名称时,它将创建变量并分配适当的内存空间。
如果变量已经存在,则MATLAB将使用新内容替换原始内容,并在必要时分配新的存储空间。
例如,
total = 136;1.
MATLAB
上述语句创建一个名为total
的1x1
矩阵,并将值136
存储在其中。
MATLAB提供15
种基本数据类型。每种数据类型存储矩阵或数组形式的数据。矩阵或数组的最小值是0
到0
,并且是可以到任何大小的矩阵或数组。
下表显示了MATLAB中最常用的数据类型 -
数据类型描述int88位有符号整数uint88位无符号整数int1616位有符号整数uint1616位无符号整数int3232位有符号整数uint3232位无符号整数int6464位有符号整数uint6464位无符号整数single单精度数值数据double双精度数值数据logical逻辑值为1或0,分别代表true和falsechar字符数据(字符串作为字符向量存储)单元格阵列索引单元阵列,每个都能够存储不同维数和数据类型的数组结构体C型结构,每个结构具有能够存储不同维数和数据类型的数组的命名字段函数处理指向一个函数的指针用户类用户定义的类构造的对象Java类从Java类构造的对象
使用以下代码创建脚本文件(datatype1.m) -
登录后复制 str = 'Hello World!'n = 2345d = double(n)un = uint32(789.50)rn = 5678.92347c = int32(rn)1.2.3.4.5.6.
MATLAB
当上述代码被编译和执行时,它产生以下结果 -
Trial>> datatype11.
str =
<span style="color:rgb(102,153,0);">'Hello World!'</span>1.
n =
<span style="color:rgb(153,0,85);">2345</span>1.
d =
<span style="color:rgb(153,0,85);">2345</span>1.
un =
uint32
790
rn =
5.6789e+03
c =
int32
5679
MATLAB
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对象islogical确定输入是否为逻辑数组isnumeric确定输入是否是数字数组isobject确定输入是否为MATLAB对象isreal检查输入是否为实数数组isscalar确定输入是否为标量isstr确定输入是否是字符数组isstruct确定输入是否是结构数组isvector确定输入是否为向量class确定对象的类validateattributes检查数组的有效性whos在工作区中列出变量,其大小和类型
使用以下代码创建脚本文件 -
x = 3isinteger(x)isfloat(x)isvector(x)isscalar(x)isnumeric(x)1.2.3.4.5.6.
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)
MATLAB
运行文件后,产生以下结果 -
x = 3ans = 0ans = 1ans = 1ans = 1ans = 1x = 1177/50ans = 0ans = 1ans = 1ans = 1ans = 1x = <span style="color:rgb(153,0,85);">1</span> <span style="color:rgb(153,0,85);">2</span> <span style="color:rgb(153,0,85);">3</span>1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.
ans = 0
ans = 1
ans = 1
ans = 0
x = Hello
ans = 0
ans = 0
ans = 1
ans = 0
ans = 0
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删