matlab实验报告

时间:2024.4.13

          

《 MATLAB 实践 》

课程设计

学生姓名:                 

    号:                

专业班级:     通信工程             

指导教师:      郑晓明             

二○一二 二十二  

       

1.设计目的…………………………………………………3

2.题目分析…………………………………………………3

3.总体设计…………………………………………………3

4.具体设计…………………………………………………3

5.小结和心得………………………………………………10

6.参考书目…………………………………………………11

1、设计目的

 MATLAB语言是集数值计算、图形绘制处理、文件管理、程序设计等功能于一身的系统软件。其操作简单方便,它的数值分析、模拟与运算功能非常强大。在欧美国家,它已成为攻读学位的大学生、硕士生、博士生必须掌握的基本技能,它是研究和解决各种具体工程问题所必备的工具。
    《MATLAB实践》课程是信息工程类专业的重要实践性课程。主要通过MATLAB实践设计的训练,提高学生对已学相关专业知识的掌握和应用水平。通过学习侧重培养学生树立如何运用所学的专业基础课程来选择设计题目,并培养学生合理安排实现设计的基本程序流程,利用强大的仿真功能与丰富的工具箱来制作、调试、评价自己设计的作品。
    通过课程实践教学,培养学生将已学课程基础理论与实践环节实际相结合。提高学生实践动手能力,为日后参加工作奠定一定的实践基础。

2题目分析

  此次课程设计的题目是《基于MATLAB GUI的成绩管理系统》。对学生的成绩进行管理是每个学校、每个老师工作中必不可少的一部分。传统的统计方法是利用计算器求出每个学生、每个班的总分,平均分等等,效率非常低。在计算机普及后,更多人选择利用微软办公软件中excel表格,大大的提高了工作效率,但是对于一些比较年老的老教师来说,接触计算机的时间较少,使用excel对他们来说是个难题。那么有一个使用起来简单且易操作的学生管理系统软件就非常的必要。

    软件设计目的是通过运用MATLAB实现MATLAB的GUI程序设计成绩管理系统来培养学生的软件工程实践能力,增强学生程序设计能力和解决实际问题的能力。

  设计内容:设计和实现一个成绩管理系统。要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,并给出设计详细说明。程序具有的功能:

    1)学生成绩的录入和保存

    2)学生成绩的查询

    3)求班上单科平均分

3、总体设计

3.1程序设计总框架


3.2功能模块化分

1)文件打开:打开路径文件工作表。

2)成绩录入:添加成绩并显示。

3)成绩查询:查询对应姓名的学生成绩。

4)平均分:求取每个班的单科平均分。

5)退出系统

4、具体设计

4.1各功能界面设计

所用组件:

“text”组件:9个,显示各种标注

“pushbutton”组件:4个,分别用于读取文件、成绩录入、求平均分和退出系统

“listbox”组件:1个,显示学生姓名

“edit”组件:5个,显示路径、每个学生的学号和各科成绩、班级各科平均分。

设计的界面入下图所示:

4.2各功能模块实现

1)成绩录入

对pushbutton3(成绩录入)控件采用回调函数实现成绩的录入。利用prompt显示一个提示对话框,包含name、number、Chinese、math、English四个待输入的内容。定义矩阵p保存所输入的数据。在录入成绩时是按列的,要能够在excel表格中显示,应先将其进行转置,变成行,才能与excel表格相对应。用xlswrite函数将所输入的数据写入excel表格中。

函数代码:

prompt={'name ','number','chinese','math', 'english'};

defans={' ',' ',' ',' ',' '};

p=inputdlg(prompt,'成绩录入',1,defans,'on');

q=p'

xlswrite('chengjidan.xls',{ 'name ','number','chinese','math', 'english'})

a=xlswrite('chengjidan.xls',q,'A12:E12')

 2)读取文件

读取excel文件工作表。对pushbutton1控件采用回调函数,用set函数分别将文件的路径和学生的姓名显示在edit1和listbox1中。用xlsread函数读取excel表格中的数据

函数代码:

[filename pathname]=uigetfile(('*.xls'),'choose a file');

str=[pathname filename];

set(handles.edit1,'string',str);

[chengji name]=xlsread(str);

set(handles.listbox1,'string',name(:,1));

handles.chengji=chengji;

guidata(hObject,handles);

3)查询成绩

在listbox1中选中一个学生的姓名,可以在edit2中显示该学生的学号和成绩

如果想同时查询多个学生的成绩,可以同时选中所要的学生,那么edit2会同时

显示出所选中学生的学号和成绩。想要显示多个学生的成绩,需将listbox1和edit2

中的max改成多个(将1改成10)

函数代码

value=get(hObject,'value')-1;

set(handles.edit2,'string',num2str(handles.chengji(value,:)));

4)求平均分

定义三个矩阵yuwen、shuxue、yingyu分别存储每一个学生的语文、数学、英语

成绩,对这三个矩阵进行求和,然后求平均值。

函数代码:

yuwen=xlsread('chengjidan.xls','sheet1','C2:C12');

shuxue=xlsread('chengjidan.xls','sheet1','D2:D12');

yingyu=xlsread('chengjidan.xls','sheet1','E2:E12');

sum1=sum(yuwen);

sum2=sum(shuxue);

sum3=sum(yingyu);

aver1=sum1/11;

aver2=sum2/11;

aver3=sum3/11;

set(handles.edit3,'string',aver1)

set(handles.edit4,'string',aver2)

set(handles.edit5,'string',aver3)

5)退出系统

对pushbutton4控件进行回调函数

函数代码:

clc;

clear all;

close(gcf);

4.3各功能模块调试结果

1)成绩录入

若在成绩录入的输入框中输入下图的内容,那么在chengjidan.xls中显示如下

程序调试时,将学生的姓名、学号和成绩输入后,在excel表格中只能显示学生的姓名,且在学号和成绩项中显示的也是学生的姓名。后来发现是因为输入时时列矩阵,但excel表格中需要的是行矩阵,所以就采用转置,将列转置成行。由于弄不明白如何实现多次录入数据,所以学生的数据录入只能录入一个,不能录入多个。

2)读取文件

对文件的读取只能读取excel表格,不能读取txt格式或其他格式的文件。如果

想要读取所有的文件,将函数中的

[filename pathname]=uigetfile(('*.xls'),'choose a file');

修改成[FileName PathName]=uigetfile({'*.xls','Excel Files(*.xls)';...

'*.txt','Txt Files(*.txt)';'*.*','All Files(*.*)'    },'choose a File');然后用switch case 语句分别对xls,txt格式的文件进行读取。

程序运行结果

在listbox1中显示学生姓名

3)查询成绩

程序运行结果

查询一个学生的成绩

查询多个学生的成绩

在学生人数较少时,可以在listbox1直接查找学生的姓名并显示相应的成绩,

但是当学生的人数非常多时,那么程序的效率就很低。经老师的指导后,可以将输入所要查询学生的姓名或学号,然后与所有学生的姓名或学号进行比较,找到相同的字符,并显示所对应的成绩。

4)求平均分

程序运行结果:

看一下求平均分的函数代码就可以发现代码虽然原理简单,但有些啰嗦,经过老师的指导,知道在MATLAB中有自带求平均值得函数mean。函数代码如下:mean(handles.chengji(value,:)));

5)退出系统

点击“退出系统”按钮后,程序关闭。

5、小结和心得

通过这次的课程设计实践,,我了解和基本掌握了MATLAB的GUI程序设计的方法,也了解了在程序中一些函数的用法和意义,学会了如何使用回调函数来实现设计所需的功能。在学习中,碰到很多不懂得知识,通过老师给的视频、与同学的交流和自己上网搜索查找相应的资料得以解决。此学生管理系统基本完成了录入、查询、求值的功能,但还有很多细节需要考虑和修改。在刚开始设计程序时,像只无头苍蝇,不知道要如何去写代码。设计界面的时候,想要弄得好看点,问了老师相关的函数代码,可仍弄得乱七八糟的,本来想用axes控件显示背景图片,可能是图片太小了,不够清晰,只能显示在界面的中间。后来又试了用多个axes控件来显示背景,但程序运行时却出现问题了,这样改来改去的,别的同学都在写程序了,我的界面都还没设计好,最后就用最简单的界面。刚开始写程序时,脑子一片空白,在看了视频教程后,结合自己所需要的程序功能,对它们进行思考和分析。这次课程设计的完成,让我对MATLAB有了更深层次的了解,也体会到设计程序的乐趣,在未来的学习中,要将这个程序进一步的完善,这对我在日后的学习和工作有很大的帮助。

参考书目

[1]  《MATLAB实用教程》 郑阿奇  电子工业出版社

[2]  MATLAB中文论坛

[3]  网络资料


第二篇:Matlab数学实验报告格式


目录

1.学生成绩管理.................................................................................. 2

2.函数极限问题.................................................................................. 5

3.蛛网模型.......................................................................................... 8

4.水塔模型........................................................................................ 11

5.混沌问题........................................................................................ 15

6.拉格朗日与三次样条插值............................................................. 19

7.曲线拟合........................................................................................ 26

8.定积分........................................................................................... 28

9.解线性方程组................................................................................ 31

更多相关推荐:
matlab实验报告

MATLAB教程及实训班级学号姓名实验报告实验1熟悉matlab的开发环境及矩阵操作一实验的教学目标通过本次实验使学生熟悉MATLAB70的开发环境熟悉MATLAB工作界面的多个常用窗口包括命令窗口历史命令窗口...

matlab基本操作实验报告

实验一matlab基本操作一实验目的熟悉matlab的安装与启动熟悉matlab用户界面熟悉matlab功能建模元素熟悉matlab优化建模过程二实验设备与仪器1微机2matlab仿真软件三实验步骤1了解mat...

matlab实验报告

课程设计说明书(论文)题目带限数字基带传输系统的仿真课程名称Matlab通信仿真设计专业通信工程班级1203学生姓名徐xx学号2012xxxx20329指导教师文xx设计起止时间:20xx年12月18日至20x…

matlab音乐处理合成实验报告

MATLAB高级编程与工程应用语音合成综合实验姓名班级学号日期121简单的合成音乐1请根据东方红片断的简谱和十二平均律计算出该片断中各个乐音的频率在MATLAB中生成幅度为1抽样频率为8kHz的正弦信号表示这些...

东南大学几何与代数matlab实验报告

数学实验报告学号姓名吴雪松得分实验1求解线性方程组实验内容用MATLAB求解如下线性方程组Axb其中5100A00006510000006510000006510000006510000006510000006...

matlab实验报告

数学实验报告班级学号姓名实验序号1日期年月日实验名称特殊函数与图形问题背景描述绘图是数学中的一种重要手段借助图形可以使抽象的对象得到明白直观的体现如函数的性质等同时借助直观的图形使初学者更容易接受新知识激发学习...

Matlab实验报告一

数学与信息科学系实验报告实验名称程序设计所属课程数学软件与实验实验类型综合型实验专业信息与计算科学班级20xx级1班学号姓名指导教师1234567

matlab实验报告

南京工程学院课程设计说明书论文题目课程名称院系部中心专业班级学生姓名学号设计地点指导教师设计起止时间20xx年12月8日至20xx年12月12日一课程设计目的和要求1综合运用信号与线性系统通信原理以及matla...

matlab实验报告

实验报告专业信息与计算科学班级10级1班指导老师汪太月姓名江凯学号20xx41210109实验室K7405实验名称MATLAB系统认识时间20xx年2月24日

matlab实验报告

MATLAB学生姓名刘超学号59011120xx专业班级机制122学院机电工程学院实验报告实验一熟悉MATLAB环境认识MATLAB一实验目的熟悉matlab的安装与启动熟悉matlab用户界面熟悉matlab...

参考答案Matlab实验报告

实验一Matlab基础知识一实验目的1熟悉启动和退出Matlab的方法2熟悉Matlab命令窗口的组成3掌握建立矩阵的方法4掌握Matlab各种表达式的书写规则以及常用函数的使用二实验内容1求100999之间能...

matlab 函数图形绘制实验报告

实验报告课程名称数学实验学院名称数学与统计学院班级姓名学号20xx20xx学年第学期数学与统计学院制

matlab实验报告(13篇)