用matlab分别建立单元数组和结构体,用作保存成绩的数据。 1.列项分别为:姓名,高数,普物,英语和总成绩; 行项建立5人的数据,Matlak.编程用 input 语句输入数据,第一个为本人 姓名和成绩;#
时间: 2024-09-25 07:03:25 浏览: 36
在MATLAB中,你可以通过两种方式创建数据结构来存储成绩信息:单元数组(cell array)和结构体(structure)。这里我会教你如何分别创建这两种数据结构。
**1. 单元数组(Cell Array):**
单元数组可以用来存储不同类型的数据,包括字符串(如姓名)和数值(如成绩)。假设你要创建一个单元数组来存储5个人的成绩:
```matlab
% 创建单元数组
scores_cell = cell(1, 6); % 初始化一个长度为6的单元数组,对应5门课程加上总成绩
% 使用input函数获取输入
disp('请输入姓名及各科成绩:')
for i = 1:5
scores_cell{i, 1} = input('姓名 (第' num2str(i) '人): ', 's'); % 姓名作为字符串
[high_math, phys, english] = deal(input(['高数 (' num2str(i) ')、普物 (' num2str(i) ')、英语 (' num2str(i) ') 成绩: ', 'num']);
scores_cell{i, 2:4} = {high_math, phys, english}; % 数值成绩直接插入到对应的单元格
total_score = sum(scores_cell{i, 2:4}); % 计算总成绩
scores_cell{i, 5} = total_score; % 总成绩添加到最后一列
end
```
**2. 结构体(Structure):**
结构体是MATLAB中用于组织相关数据的更好选择,可以直接将各字段名和值关联起来:
```matlab
% 创建结构体数组
scores_struct = struct('Name', {}, 'Math', {}, 'Physics', {}, 'English', {}, 'Total', {});
% 输入数据
disp('请输入姓名及各科成绩:')
for i = 1:5
scores_struct{i}.Name = input('姓名 (第' num2str(i) '人): ', 's');
[scores_struct{i}.Math, scores_struct{i}.Physics, scores_struct{i}.English] = deal(input(['高数 (' num2str(i) ')、普物 (' num2str(i) ')、英语 (' num2str(i) ') 成绩: ', 'num'));
scores_struct{i}.Total = sum([scores_struct{i}.Math, scores_struct{i}.Physics, scores_struct{i}.English]); % 计算总成绩
end
```
阅读全文