MATLAB 中的结构体是一种数据类型,允许你将不同类型的数据组合在一起。结构体由一组字段(field)组成,每个字段可以存储不同类型的数据,如数值、字符数组、数组或其他结构体。
创建结构体
你可以使用点符号(.
)来创建结构体:
% 创建一个结构体
person.name = 'Alice';
person.age = 30;
person.height = 5.5; % 身高,单位为英尺
访问结构体字段
使用点符号访问结构体的字段:
name = person.name; % 获取名字
age = person.age; % 获取年龄
修改结构体字段
你可以直接修改结构体的字段:
person.age = 31; % 更新年龄
创建多个结构体
你可以创建结构体数组来存储多个结构体:
% 创建结构体数组
people(1).name = 'Alice';
people(1).age = 30;
people(2).name = 'Bob';
people(2).age = 25;
访问结构体数组的字段
你可以使用索引访问结构体数组中的元素:
first_person_name = people(1).name; % 获取第一个人的名字
second_person_age = people(2).age; % 获取第二个人的年龄
结构体的常用函数
fieldnames
:获取结构体的字段名
fn = fieldnames(person); % 返回 {'name', 'age', 'height'}
isfield
:检查结构体是否具有特定字段。
has_age = isfield(person, 'age'); % 返回 true
rmfield
:从结构体中移除特定字段。
person = rmfield(person, 'height'); % 移除 height 字段
示例
以下是一个完整的示例,展示了如何创建和使用结构体:
% 创建一个结构体
student.name = 'John';
student.age = 20;
student.scores = [85, 90, 78];
% 访问和修改字段
disp(student.name); % 输出 'John'
student.age = 21; % 更新年龄
% 创建结构体数组
class(1).name = 'John';
class(1).age = 20;
class(2).name = 'Jane';
class(2).age = 22;
% 访问结构体数组
disp(class(1).name); % 输出 'John'
disp(class(2).age); % 输出 22