MATLAB数据类型

数据类型

1数值类型

@整数

*浮点型转整数型的转换函数,将数值转换为最为接近的整数值,若分数部分为0.5时,转换为最接近的两个整数中绝对值较大的一个。

*取整函数:

floor(x)向下取整

ceil(x)向上取整

round(x)取最接近的整数

fix(x)向0取整

@浮点数类型

系统默认的数值类型是double的,所以使用double时可以省略double符号

double类型的数值与其他类型的数值运算时,结果为其他类型的数值,single类型的数值不能和整型直接运算,各种不同位数的整形之间也不能直接运算。

@复数

复数由实部和虚部两部分构成,在Matlab中,字符i或j默认作为虚部标志,关于复数的相关函数如下:

函数 说明 函数 说明

complex(a,b) 构造以a为实部,以b为虚部的复数 i,j 虚部标识

real(z) 返回复数z的实部 image(z) 返回复数z的虚部

abs(z) 返回复数z的模 angle(z) 返回复数z的辅角

conj(z) 返回复数z的共轭复数

@无穷量Inf、非数值量NaN

2逻辑类型

@关系运算符

==等于 ~=不等于 =赋值

@逻辑运算符

&与 |或 ~非

3字符和字符串

一个字符串储存在一个行向量中

字符串一般是ASCII值的数值数组,字符串里的每个字符是数组里的一个元素

单引号括起来string=\'every good boy does fun\'

字符串内的单引号string=\'It\'\'s not the manual!\' 显示string=

It\'s not the manual!

字符串数组主要用于可视化编程内容,如界面设计和图形绘制。

1.字符串变量的创建

字符变量的创建方法是:在指令窗口中先把待建的字符放在“单引号对”中,再按回车键。注意,该“单引号对”必须在英文状态下输入。这“单引号对”是MATLAB用来识别字符串变量所必须的。如:

>>a=\'This is an example.\'

a =

This is an example.

>>msg = \'You\'\'re right!\' %创建带单引号的字符串

msg =

You\'re right!

2.字符串数组的标识

字符串变量的每个字符(英文字母、空格和标点都是平等的)占据一个元素位,在数组中元素所处的位置用自然数标识。如:

>>a=\'Thisis an example.\'

>>b=a(1:4) % 提出一个子字符串

b =

This

ra=a(end:-1:1) % 字符串的倒排

ra =

.elpmaxe na si sihT

又如:

>>A=\'这是一个算例。\';

>>B=size(A) % 符号数组 A 的“大小”

B =

1 7

>>C=A([5 6]) % 提出一个子字符串

C =

算例

3.字符串的ASCII码

字符串的存储是用ASCII码实现的。指令abs和double都可以用来获取串数组所对应的ASCII码数值数组。指令char可把ASCII码数组变为串数组。如

>>d=double(a)

d =

84 104 105 115 32 105 115 32 97 110 32 101 120 97 109 112108 101 46

>>char(d)

ans =

This is an example.

例:对字符串ASCII码数组的操作:使字符串中字母全部大写

>>w=find(a>=\'a\'&a<=\'z\');%找出串数组a中,小写字母的元素位置。

>>d(w)=d(w)-32; %大小写字母ASCII值差32用数值加法改变部分码值。

>>char(d) %把新的ASCII码翻成字符

ans =

THIS IS AN EXAMPLE.

4.字符串数组的运算(主要是连接)

4.1 连接成一行

>>Aa=[A,a] 可将字符串连接成一行长字符串

Aa =

这是一个算例。This is an example.

>>name = strcat(\'Thomas\',\' R.\',\' Lee\') %连接两个字符串,每个字符串最右边的空格被裁切

name =

Thomas R. Lee

4.2多个字符串形成多行字符串矩阵

l 用中括号则要求两个字符串一般长

>> Aa=[A;a]; %操作错误,不能成生成二行的矩阵,长度不一致

l 用char或strvcat函数进行连接

>>D=strvcat(\'Hello\',\'Yes\',\'No\',\'Goodbye\')%利用串操作函数(chat也可以)创建多行串数组, 连接多行字符串,每行长度可不等,自动把非最长字符串最右边补空格, 使与最长字符串相等,会忽略空字符串。

D =

Hello

Yes

No

Goodbye

5. 字符串替换和查找

strrep—进行字符串替换,区分大小写

>>strrep(str1,str2,str3)%它把str1中所有的str2字串用str3来替换

strfind(str,patten) %查找str中是否有pattern,返回出现位置,没有出现返回空数组

findstr(str1,str2) %查找str1和str2中,较短字符串在较长字符串中出现的位置,没有出现返回空数组

strmatch(patten,str) %检查patten是否和str最左侧部分一致

strtok(str,char) %返回str中由char指定的字符串前的部分和之后的部分,

6.常用字符串操作函数

blanks(n)—创建有n个空格组成的字符串

deblank(str)—裁切字符串的尾部空格

strtrim(str)—裁切字符串的开头和尾部的空格,制表,回车符

lower(str)—将字符串中的字母转换成小写

upper(str)—将字符串中的字母转换成大写

sort(str)—按照字符的ASCII值对字符串排序

num2str—将数字转换为数字字符串

str2num—将数字字符串转换为数字

mat2str—将数组转换成字符串

int2str—把数值数组转换为整数数字组成的字符数组

7.其他字符串操作函数

strcmp—比较两个字符串是否完全相等,是,返回真,否则,返回假

strncmp—比较两个字符串前n个字符是否相等,是,返回真,否则,返回假

strcmpi—比较两个字符串是否完全相等,忽略字母大小写

strncmpi—比较两个字符串前n个字符是否相等,忽略字母大小写

isletter—检测字符串中每个字符时否属于英文字母

isspace—检测字符串中每个字符是否属于格式字符(空格,回车,制表,换行符等)

isstrprop—检测字符每一个字符是否属于指定的范围.

【例】综合例题:在MATLAB计算生成的图形上标出图名和最大值点坐标。

clear

a=2;

w=3;

t=0:0.01:10;

y=exp(-a*t).*sin(w*t);

[y_max,i_max]=max(y);

t_text=[\'t=\',num2str(t(i_max))]; % <7>

y_text=[\'y=\',num2str(y_max)]; % <8>

max_text=char(\'maximum\',t_text,y_text); % <9>

%

tit=[\'y=exp(-\',num2str(a),\'t)*sin(\',num2str(w),\'t)\']; %<11>

plot(t,zeros(size(t)),\'k\')

hold on

plot(t,y,\'b\')

plot(t(i_max),y_max,\'r.\',\'MarkerSize\',20)

text(t(i_max)+0.3,y_max+0.05,max_text) % <16>

title(tit),xlabel(\'t\'),ylabel(\'y\'),holdoff

4函数句柄

间接调用

Function_Handle=@Function_Filename;

Function_Filename为对应的M文件或者内部函数

Function_Handle为变量名,后续运算可直接通过Function_Handle(x)来实现Function_Filename(x)的功能

5结构体类型

结构数组的创建

Matlab提供了两种定义结构的方式:直接引用和使用struct函数。

1. 使用直接引用方式定义结构

命名方式 "结构体名.字段名"

与建立数值型数组一样,建立新struct对象不需要事先申明,可以直接引用,而且可以动态扩充。比如建立一个复数变量x:

x.real = 0; % 创建字段(field)名为real,并为该字段赋值为0

x.imag = 0 % 为x创建一个新的字段imag,并为该字段赋值为0

x =

real: 0

imag: 0

然后可以将其动态扩充为数组:

x(2).real = 0; % 将x扩充为1×2的结构数组

x(2).imag = 0;

在任何需要的时候,也可以为数组动态扩充字段,如增加字段scale:

x(1).scale = 0;

这样,所有x都增加了一个scale字段,而x(1)之外的其他变量的scale字段为空:

x(1) % 查看结构数组的第一个元素的各个字段的内容

ans =

real: 0

imag: 0

scale: 0

x(2) % 查看结构数组的第二个元素的各个字段的内容,注意没有赋值的字段为空

ans =

real: 0

imag: 0

scale: []

应该注意的是,x的real、imag、scale字段不一定是单个数据元素,它们可以是任意数据类型,可以是向量、数组、矩阵甚至是其他结构变量或单元数组,而且不同字段之间其数据类型不需要相同。例如:

clear x; x.real = [1 2 3 4 5]; x.imag = ones(10,10);

数组中不同元素的同一字段的数据类型也不要求一样:

x(2).real = \'abc\';

x(2).imag = rand(5,1);

甚至还可以通过引用数组字段来定义结构数据类型的某字段:

x(3).real = x(1); x(3).imag = 3; x(3)

ans =

real: [1x1 struct]

imag: 3

下面看一个实际的例子来熟悉直接引用方式定义与显示结构。

【例】 温室数据(包括温室名、容量、温度、湿度等)的创建与显示。

(1) 直接对字段赋值法产生结构变量

green_house.name = \'一号温室\'; % 创建温室名字段

green_house.volume = \'2000立方米\'; % 创建温室容量字段

green_house.parameter.temperature = [31.2 30.4 31.6 28.7 29.7 31.1 30.9 29.6]; % 创建温室温度字段

green_house.parameter.humidity = [62.1 59.5 57.7 61.5 62.0 61.9 59.2 57.5]; % 创建温室湿度字段

(2)显示结构变量的内容

green_house % 显示结构变量结构

green_house =

name: \'一号温室\'

volume: \'2000立方米\'

parameter: [1x1 struct]

green_house.parameter % 用字段作用符号. 显示指定字段(parameter)中内容

ans =

temperature: [2x4 double]

humidity: [2x4 double]

green_house.parameter.temperature % 显示temperature字段中的内容

ans =

31.2000 30.4000 31.6000 28.7000

29.7000 31.1000 30.9000 29.6000

【例】在上例的基础上,创建结构数组用以保存一个温室群的数据。

green_house(2,3).name = \'六号温室\'; %产生2×3结构数组

green_house % 显示结构数组的结构

green_house =

2x3 struct array with fields:

name

volume

parameter

green_house(2,3) % 显示结构数组元素的结构

ans =

name: \'六号温室\'

volume: []

parameter: []

2. 使用struct函数创建结构

使用struct函数也可以创建结构,该函数产生或把其他形式的数据转换为结构数组。

struct的使用格式为:

s = sturct(\'field1\',values1,\'field2\',values2,…);

该函数将生成一个具有指定字段名和相应数据的结构数组,其包含的数据values1、valuese2等必须为具有相同维数的数据。对于struct的赋值用到了单元数组。数组values1、values2等可以是单元数组、数值数组或者单个数值。每个values的数据被赋值给相应的field字段。

当value为单元数组的时候,生成的结构数组的维数与单元数组的维数相同。而在数据中不包含单元数组的时候,得到的结构数组的维数是1×1的。例如:

s = struct(\'type\',{\'big\',\'little\'},\'color\',{\'blue\',\'red\'},\'x\',{3,4})

s =

1x2 struct array with fields:

type

color

x

得到维数为1×2的结构数组s,包含了type、color和x共3个字段。这是因为在struct函数中{\'big\',\'little\'}、{\'blue\',\'red\'}和{3,4}都是1×2的单元数组,可以看到两个数据成分分别为:

s(1,1)

ans =

type: \'big\'

color: \'blue\'

x: 3

s(1,2)

ans =

type: \'little\'

color: \'red\'

x: 4

下面给出利用struct构建结构数组的具体实例。

【例】利用函数struct,建立温室群的数据库。

(1) struct预建立空结构数组方法之一

a = cell(2,3); % 创建2×3的单元数组

green_house_1=struct(\'name\',a,\'volume\',a,\'parameter\',a(1,2))

green_house_1 =

2x3 struct array with fields:

name

volume

parameter

(2)struct预建空结构数组方法之二

green_house_2=struct(\'name\',a,\'volume\',[],\'parameter\',[])

green_house_2 =

2x3 struct array with fields:

name

volume

parameter

(3)struct预建空结构数组方法之三

green_hopuse_3(2,3)=struct(\'name\',[],\'volume\',[],\'parameter\',[])

green_hopuse_3 =

2x3 struct array with fields:

name

volume

parameter

(4)struct创建结构数组方法之四

a1={\'六号房\'};a2={\'3200立方米\'};

green_house_4(2,3)=struct(\'name\',a1,\'volume\',a2,\'parameter\',[]);

T6=[31.2,30.4,31.6,28.7;29.7,31.1,30.9,29.6]; green_house_4(2,3).parameter.temperature=T6;

green_house_4

ans =

2x3 struct array with fields:

name

volume

parameter

2. 结构数组的操作

MATLAB中专门用于对结构数组的操作的函数并不多,通过 help datatypes获取数据类型列表,可以看到其中的结构数据类型的有关的函数,主要有

函数名 功能描

deal 将其参数值(如单元数组)的内容分别输出到一个个独立的变量

fieldnames 获取结构的字段名

getfield 获取结构中指定字段的值

rmfield 删除结构的字段(不是字段内容)

setfield 设置结构数组中指定的字段的值

struct 创建结构数组

struct2cell 结构数组转化成单元数组

isfield 判断是否存在该字段

isstruct 判断某变量是否是结构类型

下面举一些具体的例子说明如果对结构数组加以操作。

【例】对结构数组进行字段的增添和删减操作。

(1)创建结构数组

clear,for k=1:10;department(k).number=[\'No.\',int2str(k)];end

department

department =

1x10 struct array with fields:

number

(2)增添字段:在数组中任何一个结构上进行的字段增添操作,其影响遍及整个结构数组

department(1).teacher=40;department(1).student=300;

department(1).PC_computer=40;

department

department =

1x10 struct array with fields:

number

teacher

student

PC_computer

(3)增添子字段的操作只影响被操作的那个具体结构,而不是影响整个结构数组

department(2).teacher.male=35;department(2).teacher.female=13;

D2T=department(2).teacher % 第2结构teacher字段包含两个子字段

D1T=department(1).teacher % 第1结构teacher字段仅是一个数

D2T =

male: 35

female: 13

D1T =

40

(4)删除子字段的操作也只影响被操作的那个具体结构

department(2).teacher=rmfield(department(2).teacher,\'male\');

department(2).teacher

ans =

female: 13

(5)删除字段的操作是对整个结构数组实施的

department=rmfield(department,\'student\') % 删除一个字段

department =

1x10 struct array with fields:

number

teacher

PC_computer

department=rmfield(department,{\'teacher\';\'PC_computer\'})% 删除2个字段

department =

1x10 struct array with fields:

number

【例】数值运算操作和函数在结构字段上的作用。

n_ex = 5; % 结构数组的长度

for k = 1:n_ex, % 创建1×5结构数组

ex(k).f = (k-1)*n_ex + [1:5];

end;

ex % 显示结构数组的结构

ex =

1x5 struct array with fields:

f

%显示结构数组的字段中内容

disp([blanks(10) \'结构字段中内容\'])

for k=1:n_ex,disp(ex(k).f),end

结构字段中内容

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

class(ex(1).f) % 检查字段中内容的类型

ans =

double

% 对各结构字段中数值数组相应位置的数据相加求和

sum_f=zeros(1,5)

for k=1:n_ex,sum_f=sum_f+ex(k).f;end,sum_f

sum_f =

55 60 65 70 75

% 对结构数组字段中各元素分别求平方根

disp([blanks(20) \'ex.f的平方根值\'])

for k=1:n_ex,

disp(sqrt(ex(k).f)),

end

ex.f的平方根值

1.0000 1.4142 1.7321 2.0000 2.2361

2.4495 2.6458 2.8284 3.0000 3.1623

3.3166 3.4641 3.6056 3.7417 3.8730

4.0000 4.1231 4.2426 4.3589 4.4721

4.5826 4.6904 4.7958 4.8990 5.0000

【例】 指令struct2cell和cell2struct的使用。

(1)创建“带2个字段的 结构数组”

for k=1:5,

ex(k).s=[\'No.\' int2str(k)];

ex(k).f=(k-1)*5+[1:5];

end

(2)显示结构数组的内容

fprintf(\'%s\n\',\'ex.s字段的内容 \');fprintf(\'%s\\',blanks(4))

for k=1:5;fprintf(\'%s\\\',[ex(k).s blanks(1)]);end

fprintf(\'%s\n\',blanks(1)),fprintf(\'%s\n\',\'ex.f字段的内容 \')

for k=1:5;disp(ex(k).f);end %显示ex.f字段内容

ex.s字段的内容

No.1 \No.2 \No.3 \No.4 \No.5 \

ex.f字段的内容

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

(3)把ex结构数组转换为单元数组

C_ex=struct2cell(ex); % 带2个字段的(1×5)结构数组转换为(2×1×5)单元数组

size(C_ex)

fprintf(\'%s\\',[C_ex{1,1,1},blanks(3)]) % 显示C_ex第1页第1行第1列内容

fprintf(\'%5g\\',C_ex{2,1,1}) % 显示C_ex第2页第1行第1列内容

ans =

2 1 5

No.1 1 2 3 4 5

(4)把单元数组转换为结构数组之一

FS={\'S_char\';\'F_num\'}; % 用单元数组预建字段名字符串

EX1=cell2struct(C_ex,FS,1) % 单元数组向结构数组转换

EX1 =

1x5 struct array with fields:

S_char

F_numric

EX1(1) % 观察新结构EX1第一结构的情况

ans =

S_char: \'No.1\'

F_numric: [1 2 3 4 5]

(5)把单元数组转换为结构数组之二

EX2=cell2struct(C_ex,\'xx\',2)

EX2 =

2x5 struct array with fields:

xx

(6)把单元数组转换为结构数组之三

YY=strvcat(\'y1\',\'y2\',\'y3\',\'y4\',\'y5\');EX3=cell2struct(C_ex,YY,3)

EX3 =

2x1 struct array with fields:

y1

y2

y3

y4

y5

EX3(1) % 观察第一结构情况

ans =

y1: \'No.1\'

y2: \'No.2\'

y3: \'No.3\'

y4: \'No.4\'

y5: \'No.5\'

EX3(2) % 观察第二结构情况

ans =

y1: [1 2 3 4 5]

y2: [6 7 8 9 10]

y3: [11 12 13 14 15]

y4: [16 17 18 19 20]

y5: [21 22 23 24 25]

6数组类型

: i:k i:j:k

linspace(a,b,100)

单元数组

单元数组中的每一个元素称为单元(cell). 单元可以包含任何类型的matlab数据, 这些数据类型包括数值数组, 字符, 符号对象, 甚至其他的单元数组和结构体. 不同的单元可以包含不同的数据.

1.1单元数组创建与显示:

1、直接赋值法:按单元索引法 和按内容索引法。(其实也就是将花括号放在等式的右边或是左边的区别)。注意:“按单元索引法”和“按内容索引法”是完全等效的,可以互换使用。通过下面实例,我们看到:花括号{}用于访问单元的值,而括号()用于标识单元(即:不用于访问单元的值)。具体理解{}和()区别可以在下面代码最后分别输入A{2,2}和A(2,2)。就会发现“按内容索引法{}”能显示完整的单元内容,而“按单元索引法()”有时无法显示完整的单元内容。

>> A(1,1)={[1 2 3; 4 5 6;7 8 9]}; % 按单元索引法

>> A(1,2)={2+3i};

>> A(2,1)={\'A character\'};

>> A(2,2)={12:-2:0};

>> A %要想详细显示A中的内容,可用指令:celldisp(A)

A =

[3x3 double] [2.0000 + 3.0000i]

\'A character\' [1x7 double]

>> B{1,1}=[1 2 3;4 5 6;7 8 9]; % 按内容索引法。

>> B{1,2}=2+3i;

>> B{2,1}=\'A character\';

>> B{2,2}=12:-2:0;

>>B

B =

[3x3 double] [2.0000 + 3.0000i]

\'A character\' [1x7 double]

2、利用cell函数法:即首先用cell函数生成一个空的单元数组,然后再向其中添加所需的数据。下面的代码生成一个2X3的空单元数组:

>> C=cell(2,3)

C =

[] [] []

[] [] []

利用cell生成空单元数组后,可以采用“按单元索引法”和“按内容索引法”对其进行赋值。在赋值时,用户一定要注意{}和()的用法。

>> C(1,1)={\'This does work\'}

C =

\'This does work\' [] []

[] [] []

>> C{2,3}=\'This work\'

C =

\'This does work\' [] []

[] [] \'This work\'

(1)利用cell指令创建单元数组

C=cell(2); %预设matlab 空单元数组

C(:,1)={char(\'Another\',\'textstring\');10:-1:1} %对第一列单元赋值

C=

[2x11char ] []

[1x10double] []

(2)单元数组的“列”扩充和“行”扩充

AC=[A C] %空格(或逗号)利用来分隔列

A_C=[A;C] %分号利用来分隔“行”

AC =

[2x10 char] [3x3 double] [2x11 char ] []

[1.0000+ 2.0000i] [1x1 sym ] [1x10 double] []

A_C =

[2x10 char ] [3x3 double]

[1.0000+ 2.0000i] [1x1 sym ]

[2x11 char ] []

[1x10 double] []

【例】cellplot能用图形形象化地表示单元数组的内容。(A_C取自上例)

cellplot(A_C,\'legend\')

单元数组的收缩

A_C(3,:)=[] %删除第3行,使A_C成为matlab 的单元数组

A_C =

[2x10 char ] [3x3 double]

[1.0000+ 2.0000i] [1x1 sym ]

[1x10 double] []

把A_C重组成matlab单元数组R_A_C

R_A_C=reshape(A_C,2,3)

R_A_C =

[2x10 char] [1x10 double] [1x1 sym]

[1.0000+ 2.0000i] [3x3 double] []

1.2 单元数组内容的调取

取一个单元

f1=R_A_C(1,3) %使用圆括号寻访得到的是单元,而不仅是内容。

class(f1)

f1 =

[1x1 sym]

ans =

cell

取一个单元的内容

f2=R_A_C{1,3} %用花括号寻访取得内容

class(f2)

f2=

sin(-3*t)*exp(-t)

ans =

sym

取单元内的子数组

f3=R_A_C{1,1}(:,[1 25 6]) %注意三种括号的不同用途

%取第1行第1列单元内容中的第1、2、5、6列。

f3=

这是

单元创建

同时调取多个单元内容

[f4,f5,f6]=deal(R_A_C{[1,3,4]}) %取三个单元内容,赋值给三个变量

f4=

这是

单元数组创建算例 1

f5 =

10 9 8 7 6 5 4 3 2 1

f6 =

1 4 7

2 5 8

3 6 9

struct和cell看起来相似,其实可以这样理解struct只能够构造1*n个元素,而cell就是个变态版的数组

7Map函数

Matlab中的映射容器就是Map类,这里的Map类与Java的Map类类似,也是一个key对应着一个value,Map类的所有对象都有三个属性:

Count:表示Map中存储的键值对的数量

KeyType:表示Map对象中包括的key的类型

ValueType:表示Map中的数据类型

1、创建Map对象

>> mapObj=containers.Map({1,2},{\'xing\',\'xiao\'})

mapObj =

Map with properties:

Count: 2

KeyType: double

ValueType: char

2、查看和读取Map对象

可以通过使用keys函数查看Map对象中包含的所有键;通过values函数查看所有的值。

%获取所有的键

>> keys(mapObj)

ans =

[1] [2]

%获取所有的值

>> values(mapObj)

ans =

\'xing\' \'xiao\'

%获取指定键的值

>> mapObj(1)

ans =

xing

%获取多个值

>> values(mapObj,{1,2})

ans =

\'xing\' \'xiao\'

3、编辑Map对象

(1)添加键值对

>> mapObj(3)=\'ming\'

mapObj =

Map with properties:

Count: 3

KeyType: double

ValueType: char

>> values(mapObj)

ans =

\'xing\' \'xiao\' \'ming\'

(2)删除键值对

>> remove(mapObj,2)

ans =

Map with properties:

Count: 2

KeyType: double

ValueType: char

>> values(mapObj)

ans =

\'xing\' \'ming\'

(3)修改键值对

如果需要在值不变的情况下对键名进行修改,首先要删除键名和对应的值,然后再添加一个有正确键名的新条目。通过覆盖原有的值,可以在键名不变的情况下对值进行修改。

>> remove(mapObj,1)

ans =

Map with properties:

Count: 1

KeyType: double

ValueType: char

>> mapObj(11)=\'xing\'

mapObj =

Map with properties:

Count: 2

KeyType: double

ValueType: char

>> mapObj(3)=\'aaa\'

mapObj =

Map with properties:

Count: 2

KeyType: double

ValueType: char

>> keys(mapObj)

ans =

[3] [11]

>> values(mapObj)

ans =

\'aaa\' \'xing\'

8数据类型之间的转换

类型识别函数:

函数 功能 函数 功能

iscell 判断是否为单元数组 isnumeric 判断是否为数值数组

isreal 判断是否为实数 ischar 判断是否为字符数组

isstr 判断是否为字符串 isfloat 判断是否为浮点数

isstruct 判断是否为结构数组 whos 列举变量类型及相关数据

类型转换函数:

函数 功能 函数 功能

dec2bin 十进制转为二进制 int2str 整数转为字符串

num2str 数值转为字符串 str2double 字符串转为double

还有其他很多的转换函数,基本上都是类似的语法。