语法知识
结构数组的创建
直接赋值
A.B=C %A为结构数组名,B为字段名,C为此字段的内容
使用struct函数
如果使用结构数组函数创建,则书写格式为
array_name=struct(‘field1’,val1,‘field2’,val2,···) %array_name为结构数组名,field为字段名,val为对应字段名的值
结构数组与单元数组的转换
单元数组的处理
实战演练
结构数组的创建实例
>> student(1).name='a';
>> student(2).name='b';
>> student(3).name='c';
>> student(4).name='d';
>>
>> student(1).sex='F';
>> student(2).sex='F';
>>
>> student(3).sex='M';
>> student(4).sex='M';
>> student(1).score='1';
>> student(2).score='2';
>> student(3).score='3';
>> student(4).score='4';
>> student
student =
包含以下字段的 1×4 struct 数组:
name
sex
score
>> teacher=struct('name','e','sex','F','score','0')
teacher =
包含以下字段的 struct:
name: 'e'
sex: 'F'
score: '0'
结构数组与单元数组的转换实例
>> student
student =
包含以下字段的 1×4 struct 数组:
name
sex
score
>> Student=struct2cell(student)
3×1×4 cell 数组
Student(:,:,1) =
{'a'}
{'F'}
{'1'}
Student(:,:,2) =
{'b'}
{'F'}
{'2'}
Student(:,:,3) =
{'c'}
{'M'}
{'3'}
Student(:,:,4) =
{'d'}
{'M'}
{'4'}
>> size(Student)
ans =
3 1 4
>> Student
3×1×4 cell 数组
Student(:,:,1) =
{'a'}
{'F'}
{'1'}
Student(:,:,2) =
{'b'}
{'F'}
{'2'}
Student(:,:,3) =
{'c'}
{'M'}
{'3'}
Student(:,:,4) =
{'d'}
{'M'}
{'4'}
>> NAME1=[Student{1,1,:}]
NAME1 =
'abcd'
单元数组的处理实例
>> for i=1:4
s(i)=Student{3,1,i};
end,s,mean(s)
s =
1 2 3 4
ans =
2.5000
总结思考
本次我们学习了结构数组的创建、赋值和处理,还有其与单元数组的转换。