结构体变量、单元型变量和结构体数组的使用方法
来源:互联网 发布:算法统宗中的所有题目 编辑:程序博客网 时间:2024/06/05 11:16
%{
《结构体变量、单元型变量和结构体数组的使用方法》
问题描述:(MatlabR2015a代码,可直接复制)
某专业有三名研究生,本学期选修了四门课程,若这些研究生的姓名,学号,性别,出生年月,课程名称,考试成绩可任意假定,
(1)分别用结构型变量和单元型变量表示以上信息;
(2)举例说明查阅以上任何一条信息的方法;
(3)求每一个研究生的平均成绩.
%}
%%法一:单元型变量表示,用结构体,因为结构体可以使得不同的数据类型的数据放在一个矩阵中;
%错误:第一行是姓名,学号,性别,出生年月 第二行是具体回答 第三行是课程名字 第四行是相应课程的分数(当然也可以列的方式进行)
Student1=struct('Name',{'韩承熙'},'ID',{'0107140112'},'Gender',{'男'},'Birthday',{'1995-03-22'},...
'InSAR',70,'Matlab',50,'Microwave',80,'GIS',90);
%%%结构体必须用(),不能用[]!!!!! 好像不可以用;隔开做成2行???
Student2=struct('Name',{'韩熙熙'},'ID',{'0107140111'},'Gender',{'男'},'Birthday',{'1995-03-21'},...
'InSAR',50,'Matlab',80,'Microwave',90,'GIS',70);
Student3=struct('Name',{'韩熙枭雄'},'ID',{'0107140113'},'Gender',{'男'},'Birthday',{'1995-03-23'},...
'InSAR',80,'Matlab',90,'Microwave',70,'GIS',50);
Student=[Student1 Student2 Student3]
%**************调用方式********************%
Student %查看学生有哪些信息
Student(1) %查看学生1的所有信息
Student(1).Name %查看学生1的姓名
Student(1).Matlab %查看学生1的Matlab课程的成绩信息
%**************调用方式********************%
%%%求成绩的平均值
MeanCouSco1=sum(Student(1).InSAR+Student(1).Matlab+Student(1).Microwave+Student(1).GIS )/4
MeanCouSco2=sum(Student(2).InSAR+Student(2).Matlab+Student(2).Microwave+Student(2).GIS )/4
MeanCouSco3=sum(Student(3).InSAR+Student(3).Matlab+Student(3).Microwave+Student(3).GIS )/4
%###############思维拓展,可以把单独把课程和成绩用结构型变量做成一快,然后再放进上述结构体中##########
%%%法二:使用结构型变量表示%%%
Student1.Name='韩承熙';
Student1.ID='0107140112';
Student1.Gender='男';
Student1.Birthday='1995-03-22';
% Student1.Course=['InSAR ','Matlab ','Microwave ','GIS'];
%此处将所有课程看作一个大的连续的字符串!!!Student(1).Course(1)是I Student(1).Course(6)是空!!!###
Student1.Course=[{'InSAR'},{'Matlab'},{'Microwave'},{'GIS'}];
%此处每个科目用大括号单独括起来,即看作cell元胞数组型的,每一个可以单独表示Student(1).Course(1)是'InSAR '###
%实现的结果与下面用结构数组的形式一样,都可以把'InSAR'看作一个单独的量!!!!!!
Student1.Score=[70,50,80,90];
% Student1={Name,ID,Gender,Birthday,Course,Score};%结构型变量自动将他们合在一起,不用重新合一起##
Student2.Name='韩熙熙';
Student2.ID='0107140111';
Student2.Gender='男';
Student2.Birthday='1995-03-21';
Student2.Course=[{'InSAR'},{'Matlab'},{'Microwave'},{'GIS'}];
Student2.Score=[50,80,90,70];
% Student2={Name,ID,Gender,Birthday,Course,Score};
Student3.Name='韩熙枭雄';
Student3.ID='0107140114';
Student3.Gender='男';
Student3.Birthday='1995-03-23';
Student3.Course=[{'InSAR'},{'Matlab'},{'Microwave'},{'GIS'}];
Student3.Score=[80,90,70,50];
% Student3={Name,ID,Gender,Birthday,Course,Score};
Student=[Student1 Student2 Student3]
%**************调用方式********************%
Student %查看所有学生信息
Student(1) %查看学生1的信息
Student(1).Course %查看学生1的课程(注意 单独的 和 字符串 的区别!)
Student(1).Course(2) %查看学生1的第二门课程是Matlab
Student(1).Score %查看学生1的所有课程的成绩信息
Student(1).Score(2) %查看学生1的Matlab课程的成绩信息
%**************调用方式********************%
%%%求成绩的平均值
MeanCouSco1=mean(Student(1).Score)
MeanCouSco2=mean(Student(2).Score)
MeanCouSco3=mean(Student(3).Score)
%%%法二
MeanCouSco1=sum(Student(1).Score(1)+Student(1).Score(2)+Student(1).Score(3)+Student(1).Score(4))/4
MeanCouSco2=sum(Student(2).Score(1)+Student(2).Score(2)+Student(2).Score(3)+Student(2).Score(4))/4
MeanCouSco3=sum(Student(3).Score(1)+Student(3).Score(2)+Student(3).Score(3)+Student(3).Score(4))/4
% %%%法三:struct array用结构数组的方法%%%
% Student1.Name='韩承熙';
% Student1.ID='0107140112';
% Student1.Gender='男';
% Student1.Birthday='1995-03-22';
% Student1.CouSco=struct('InSAR',70,'Matlab',50,'Microwave',80,'GIS',90);
%%注意:第1,3,5为项,2,4,6为值,值为非数字时赋值要用{}!!!!!!
% % CouSco=struct('InSAR',70,'Matlab',50,'Microwave',80,'GIS',90);
% % Student11=[Student1 CouSco];
%
% Student2.Name='韩熙熙';
% Student2.ID='0107140111';
% Student2.Gender='男';
% Student2.Birthday='1995-03-21';
% Student2.CouSco=struct('InSAR',50,'Matlab',80,'Microwave',90,'GIS',70);
% % CouSco=struct('InSAR',50,'Matlab',80,'Microwave',90,'GIS',70); 问题:%结构数组和结构型变量可以放在一个矩阵里么?
% % Student22=[Student2 CouSco];
%
% Student3.Name='韩熙枭雄';
% Student3.ID='0107140114';
% Student3.Gender='男';
% Student3.Birthday='1995-03-23';
% Student3.CouSco=struct('InSAR',80,'Matlab',90,'Microwave',70,'GIS',50);
% % CouSco=struct('InSAR',80,'Matlab',90,'Microwave',70,'GIS',50);
% % Student33=[Student3 CouSco];
% % Student=[Student11 Student22 Student33];
% Student=[Student1 Student2 Student3];
%
% %**************调用方式********************%
% Student %查看所有学生信息
% Student(1) %查看学生1的信息
% Student(1).CouSco %查看学生1的课程和成绩信息
% Student(1).CouSco.InSAR %查看学生1的InSAR课程的成绩信息
% %**************调用方式********************%
% %%%求成绩的平均值
% MeanCouSco1=sum( Student(1).CouSco.InSAR+Student(1).CouSco.Matlab+Student(1).CouSco.Microwave+Student(1).CouSco.GIS)/4;
% MeanCouSco2=sum( Student(2).CouSco.InSAR+Student(2).CouSco.Matlab+Student(2).CouSco.Microwave+Student(2).CouSco.GIS)/4;
% MeanCouSco3=sum( Student(3).CouSco.InSAR+Student(3).CouSco.Matlab+Student(3).CouSco.Microwave+Student(3).CouSco.GIS)/4;
%%韩熙枭雄 2017.3.2于长沙
%%如有疑问可以发邮件给我1121399040@qq.com
- 结构体变量、单元型变量和结构体数组的使用方法
- 结构体变量与结构体指针变量的使用方法
- 结构体的数组成员变量对齐
- 变量、字符、数组、结构体
- 结构体变量数组示例
- 结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析
- 结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析
- 结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析
- 结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析 .
- 结构体变量、结构指针变量、结构数组作为函数的参数应用实例分析
- 结构体指针变量使用方法举例
- 结构体变量的初始化和赋值
- 结构体变量的引用和赋值
- 结构体的定义和结构变量的定义
- C语言 一个例子说明结构体变量,结构体数组和结构体指针
- matlab数据类型二(单元变量、结构数组)
- 结构体变量的引用
- 结构体变量的初始化
- 解决Cannot change version of project facet Dynamic web module to 3.0
- Elasticsearch学习,请先看这一篇!
- 【J2EE】ajax实现页面无刷新完成crud操作
- Java重写与重载、静态绑定与动态绑定
- 【Java Web初级系列教程】Web基础知识
- 结构体变量、单元型变量和结构体数组的使用方法
- L1-003. 个位数统计
- Android Fragment的一些使用细节
- 认识标签
- 文章标题
- java--关键字static
- ERROR: invalid byte sequence for encoding "UTF8": 0x92
- C++ stringstream 简化数据类型转换
- 关于项目启动报cannot be resolved to a type的解决