MATLAB 并不需要任何类型的声明或维度报表。 MATLAB 每当遇到一个新的变量名称,创建变量,并分配适当的内存空间。
如果变量已经存在,则MATLAB替换以新的内容的原始内容,并分配新的存储空间,在必要的情况下。
例如,
Total=42
上述语句创建了一个名为“Total” 的 1-1 矩阵存储值42。
MATLAB中可用的数据类型
MATLAB 提供15个基本数据类型。每种数据类型的数据存储在矩阵或阵列的形式。这个矩阵的大小或阵列是一个最低 0-0,这可以长大为任何规模大小的矩阵或数组。
下表显示了在 MATLAB 中最常用的数据类型:
数据类型
描述
int8
8-bit signed integer
uint8
8-bit unsigned integer
int16
16-bit signed integer
uint16
16-bit unsigned integer
int32
32-bit signed integer
uint32
32-bit unsigned integer
int64
64-bit signed integer
uint64
64-bit unsigned integer
single
single precision numerical data
double
double precision numerical data
logical
logical values of 1 or 0, represent true and false respectively
char
character data (strings are stored as vector of characters)
cell array
array of indexed cells, each capable of storing an array of a different dimension and data type
structure
C-like structures, each structure having named fields capable of storing an array of a different dimension and data type
function handle
yiibaier to a function
user classes
objects constructed from a user-defined class
java classes
objects constructed from a Java class
例子
创建一个脚本文件,用下面的代码:
str='Hello World!'n=2345d=double(n)un=uint32(789.50)rn=5678.92347c=int32(rn)
上面的代码编译和执行时,它会产生以下结果:
str =
Hello World!
n =
2345
d =
2345
un =
790
rn =
5.6789e+03
c =
5679
数据类型转换
MATLAB 提供各种函数,用于从一种数据类型转换到另一种。下表显示的数据类型转换函数:
函数
目的/作用
char
Convert to character array (string)
int2str
Convert integer data to string
mat2str
Convert matrix to string
num2str
Convert number to string
str2double
Convert string to double-precision value
str2num
Convert string to number
native2unicode
Convert numeric bytes to Unicode characters
unicode2native
Convert Unicode characters to numeric bytes
base2dec
Convert base N number string to decimal number
bin2dec
Convert binary number string to decimal number
dec2base
Convert decimal to base N number in string
dec2bin
Convert decimal to binary number in string
dec2hex
Convert decimal to hexadecimal number in string
hex2dec
Convert hexadecimal number string to decimal number
hex2num
Convert hexadecimal number string to double-precision number
num2hex
Convert singles and doubles to IEEE hexadecimal strings
cell2mat
Convert cell array to numeric array
cell2struct
Convert cell array to structure array
cellstr
Create cell array of strings from character array
mat2cell
Convert array to cell array with potentially different sized cells
num2cell
Convert array to cell array with consistently sized cells
struct2cell
Convert structure to cell array
测定的数据类型
MATLAB 提供各种函数标识数据类型的变量。
下表提供了确定一个变量的数据类型的函数:
函数
目的/作用
is
Detect state
isa
Determine if input is object of specified class
iscell
Determine whether input is cell array
iscellstr
Determine whether input is cell array of strings
ischar
Determine whether item is character array
isfield
Determine whether input is structure array field
isfloat
Determine if input is floating-yiibai array
ishghandle
True for Handle Graphics object handles
isinteger
Determine if input is integer array
isjava
Determine if input is Java object
islogical
Determine if input is logical array
isnumeric
Determine if input is numeric array
isobject
Determine if input is MATLAB object
isreal
Check if input is real array
isscalar
Determine whether input is scalar
isstr
Determine whether input is character array
isstruct
Determine whether input is structure array
isvector
Determine whether input is vector
class
Determine class of object
validateattributes
Check validity of array
whos
List variables in workspace, with sizes and types
例子
创建一个脚本文件,用下面的代码:
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.5400
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