语法知识
结构数组是对某个对象,不同属性的数据,用一组数据来表示,称为结构数组。结构数组中的元素可以是数值,亦可以是字符串。因此产品档案、库存档案、病历档案、人事档案、检测数据等都是结构数组的例子。有关结构数组的函数列举在下表中:
结构数组的创建
结构数组的创建,可以采取直接赋值或用函数struct来创建。
直接赋值将通过下面的例子展示;
如果有结构数组函数struct创建,则书写格式为
结构数组与单元数组的转换
单元数组的数据处理
实例演练
1.直接赋值创建结构数组
>> student(1).ID=101;
>> student(2).ID=102;
>> student(3).ID=103;
>> student(4).ID=104;
>> student(1).name='wang';
>> student(2).name='chang';
>> student(3).name='li';
>> student(4).name='lu';
>> student(1).age=21;
>> student(2).age=20;
>> student(3).age=19;
>> student(4).age=23;
>> student(1).sex='F';
>> student(2).sex='M';
>> student(3).sex='F';
>> student(4).sex='M';
>> student(1).score=88;
>> student(2).score=95;
>> student(3).score=79;
>> student(4).score=73;
>> strut(student)
未定义函数或变量 'strut'。
是不是想输入:
>> struct(student)
ans =
包含以下字段的 1×4 struct 数组:
ID
name
age
sex
score
2.单元数组与结构数组的转换
>> S=struct('catagory','tree','height',28.5,'name','brich')
S =
包含以下字段的 struct:
catagory: 'tree'
height: 28.5000
name: 'brich'
>> C=struct2cell(S)
C =
3×1 cell 数组
{'tree' }
{[28.5000]}
{'brich' }
>> size(C)
ans =
3 1
ans =
包含以下字段的 1×4 struct 数组:
ID
name
age
sex
score
>> C=struct2cell(student);
>> C=[C(:,1),C(:,2),C(:,3),C(:,4)]
C =
5×4 cell 数组
{[ 101]} {[ 102]} {[103]} {[104]}
{'wang'} {'chang'} {'li' } {'lu' }
{[ 21]} {[ 20]} {[ 19]} {[ 23]}
{'F' } {'M' } {'F' } {'M' }
{[ 88]} {[ 95]} {[ 79]} {[ 73]}
4.求平均值
>> s=0;
>> for i=1:4
s(i)=C{5,i};
end,s,mean(s)
s =
88 95 79 73
ans =
83.7500