结构体类型可以把不同数据类型的变量放到同一个变量名下,通过不同的“域”的概念对结构体中的数据进行赋值,操作。结构体中的数据存储在相应的“域”中。
结构体的创建有两种方法,为命令行直接赋值法和函数法。
- 命令行直接赋值法
通过命令行直接赋值即直接给结构体中的不同域赋值,结构与域之间用“.”连接,不同域中可保存不同数据类型的变量。>>ss.str='ABC'; >>ss.num=[5:2:16]; >>ss.str2=['A','S','BS']; >>ss ss= str:'ABC' num:[5 7 9 11 13 15] str2:'ASBS'
- 函数法
MATLAB中提供了struct()函数创建结构体,具体用法如下。ss=struct('str','ABC','num',[5:2:16],'str2',['A','S','BS']) ss= str:'ABC' num:[5 7 9 11 13 15] str2:'ASBS'
结构体的操作,举个例子:
>>ss=struct('stu_name',{'wang','ma','li'},'stu_num',{100,101,102},'stu_age',{22,24,22})
>>ss(:,1) %访问结构体中的第一列
ans=
stu_name:'wang'
stu_num:100
stu_age:22
ss.stu_name %访问结构体ss中的域stu_name
ans=
wang
ans=
ma
ans=
li
>>ss(1).stu_name %访问结构体ss中第一列的域stu_name
ans=
wang