matlab课程设计报告书
Matlab课程设计报告
![Matlab课程设计报告](https://img.taocdn.com/s3/m/3fbfc6b3ee06eff9aef807f8.png)
至诚学院《 MATLAB 实践》课程设计学生姓名:学号:专业班级:(2)指导教师:二○一四年四月三十日目录1.设计目的 (3)2.题目分析 (3)3.总体设计 (3)4.具体设计 (4)5.小结和心得 (15)1、设计目的:使用MATLAB的GUI程序设计学生成绩管理系统。
完成需学生成绩的基本管理,包含对学生成绩的读入、修改、添加和查询等基本的功能。
本课题主要解决对学生成绩总体的客观评价,通过一系列数据的分析比较,例如平均值,成绩分布等整体数据的处理,以及matlab和excel在数据联动功能方面的应用,所绘制的直方图、正态分布图等图像信息使得分析成绩系统更直观、有效地反映学生此课程这一阶段的表现,进而研究今后的教学重点,以及从教学到考试等一连串过程中的薄弱环节,从而达到教学相长的目的。
不论是对学生的整体学习情况还是单独考虑每个学生的学习情况都能够进行较好的评价。
面比起单纯的"绝对分数"评价学生的学习状况,忽略了基础条件的差异,我们运用了各种方法和模型来去避免这类现象的发生,动态的分析每个学生的情况,并从定性和定量两方面分别给出了数值与建议。
2、题目分析根据课题的要求,分析成绩管理系统的现实需求,我们可以概括为设计的程序应该包含的几个基本模块及应该完成的功能如下:1.文件管理:完成成绩表格的导入(.xls文件),完成对修改后的成绩文件的保存。
2.成绩管理:完成对学生成绩、学号、成绩、总分的显示和修改,还有添加新的学生的信息。
3.查询管理:完成对姓名或者学号的查询的显示和删除,学生的信息显示在成绩管理里面的显示框里面。
4.在学生的姓名显示框点击学生姓名,成绩管理系统里面自动获取学生的基本信息。
5.统计出学生的最高分和最低分以及各科成绩的平均分情况。
6.通过各科成绩的统计分布直方图,直观地分析学生的各科的成绩状况。
3、总体设计围绕设计的题目范围,我们可以将起绘制成功能模块的总体模块图如下图1。
Matlab课程设计报告
![Matlab课程设计报告](https://img.taocdn.com/s3/m/951ff38f8e9951e79a892763.png)
《MATLAB》课程设计报告设计课题:MATLAB综合实验学生姓名:学生学号:专业班级:指导教师:一、课程设计的目的及其意义了解matlab的窗口工具栏的使用以及作用、让matlab成为我们的日常好帮手,并为将来使用matlab进行信号处理领域的各种分析和实际应用打下基础。
二、课程设计原理matlab软件包有五大功能:数值计算功能、符号运算功能、数据化可视功能、数据图形文字统一处理功能和建模仿真可视化功能。
matlab在信号与系统中的主要功能是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、信号的S域分析和零极点图绘制等内容。
三、课程设计要求使用帮助功能,绘制出sinc和三角波的波形。
四、课程设计过程1、函数代码Sinc波的函数代码及图像t=—pi:0。
001:pi; x=sinc(t);plot(t,x);xlabel('t’),ylabel(’sinc(t);');三角波的函数代码及图像t=-2*pi:0。
001:2*pi;y=sawtooth(t);plot(t,y);xlabel(’t'),ylabel(’ y=sawtooth(t);’);五、课程设计体会刚开始拿到这个课程设计、并不知道该干些什么东西,不过还是决定先打开matlab软件看看,一下想到弄两个波形出来,看看会是怎么样的效果。
于是把两个程序输入,并得到了波形其实对于matlab的学习已经有一段时间了,可是发现自己对这个软件的认识还只是皮毛上的东西。
matlab是一个基于矩阵运算的软件,这是我们大家都知道的事情了,但是,在真正运用这个软件的时候(就是在编程的时候),很多人特别是我这样的初学者,很多时候往往没有注意到这个问题,所以就会有for循环(包括while循环)嵌套了十几层,这种做法浪费了大量资源,而且没有发挥matlab的长处,还浪费了大家宝贵的时间,就只见左下角一直busy。
MATLAB课程设计
![MATLAB课程设计](https://img.taocdn.com/s3/m/af409adfb52acfc788ebc963.png)
MATLAB课程设计课程设计(论文)题目:用MATLAB语言程序开发凑五子棋游戏专业:信息与计算科学指导教师:张大海学生姓名:谢艳涛班级-学号:信计131-30学生姓名:黄元福班级-学号:信计131-26学生姓名:辛安班级-学号:信计131-222016年 11月摘要凑五子棋是一种两人对弈的纯策略型棋类游戏,应用MATLAB语言编写程序可以在计算机上实现二人对弈凑五子棋功能。
二人对弈凑五子棋程序由欢迎界面显示、游戏界面生成、光标移动与落子、判断胜负、悔棋功能、提供音效等子程序构成;程序中应用了结构体、数组、全局变量、按键处理和图形编程等元素和语句。
程序通过棋盘和棋子图像生成、二人移子与落子和判断胜负等功能的实现,在计算机上实现了二人凑五子棋对弈。
目录摘要-------------------------------------------------- II 第1章:需求分析 ---------------------------------------- 11.1凑五子棋背景 ----------------------------------- 11.2 凑五子棋需求分析和流程设计--------------------- 1 第2章:概要设计 ---------------------------------------- 72.1 各类头文件和全局变量--------------------------- 72.2 画面显示模块----------------------------------- 8 第3章:详细设计 --------------------------------------- 103.1 玩家操作模块---------------------------------- 103.2音效提供模块 ---------------------------------- 113.3 胜负判断模块---------------------------------- 11 第4章:调试分析 --------------------------------------- 124.1 图形模块-------------------------------------- 12 4.2 玩家操作模块 ------------------------------------ 134.3 胜负判断模块---------------------------------- 14 第5章:用户手册 --------------------------------------- 14第6章:小组分工 --------------------------------------- 15 第7章:结论与心得 ------------------------------------- 16 第8章:源程序代码 ------------------------------------ 16第1章:需求分析1.1凑五子棋背景传统凑五子棋的棋具与围棋相同,棋子分为黑白两色,棋盘为18×18,棋子放置于棋盘线交叉点上。
《MATLAB编程与系统仿真》课程设计报告书
![《MATLAB编程与系统仿真》课程设计报告书](https://img.taocdn.com/s3/m/b853fb13c5da50e2524d7f16.png)
《MATLAB编程与系统仿真》课程考核说明1、考核方式及考核时间综合性仿真及报告书(60%)+实验成绩(30%)+平时成绩(10%),其中实验成绩包括实验和报告。
《MATLAB编程与系统仿真》课程是一门实践性比较强的课程,采用传统的试卷考核方式无法体现学生对MATLAB的掌握和应用程度、程序调试能力等。
鉴于此情况,本课程考核以“综合性仿真及报告书+实验成绩+平时成绩“形式进行,综合性仿真考核学生对MATLAB编程语言的掌握程度和运用MATLAB 解决实际问题的能力,并通过报告书的撰写锻炼学生科技文档写作能力。
考核内容及要求见附件1。
考核时间:程序电子档及纸质报告书提交截止时间为第12周星期三12:00。
2、评分标准:报告各项目认真填写,仿真结果正确,具有清晰的设计思路及仿真结果分析。
(90-100)报告各项目认真填写,仿真结果基本正确,具有较为清晰的设计思路并对仿真结果进行了较为清晰的分析。
(80-89)报告各项目认真填写,设计思路正确,能得到仿真结果。
(70-79)报告进行为较为认真的填写,有设计思路。
(60-69)报告有未完成项或各项填写不属实或他人代做或抄袭。
(<60)注:所提交的材料包括报告书和完成的程序源代码,若报告书或程序源代码出现雷同,以0分计。
(报告格式见附件2)课程主讲教师:教研室:信息科学与工程学院:附件1考核内容及要求1、每个学生以自己的学号建立子文件夹,所有程序、数据均放入该子文件夹中;2、共三个题目分别为题目A,题目B,题目C, i=1:11学号后两位为 (i-1)*3+1 的同学完成题目A学号后两位为 (i-1)*3+2 的同学完成题目B学号后两位为 (i-1)*3+3 的同学完成题目C3、编写一个脚本主程序命名为:Amain.m(题目B用Bmain.m,以此类推)调用其它的函数完成全部要求功能;其余函数或数据文件的命名以A字母开始后接自己学号的后10位再加上一个一位的序号,如学号为631206040101的同学,除主程序之外另有两个文件(函数或数据文件),则分别命名为A12060401011和A12060401012;题目A随机生成n个(0,1)之间的数,学号为单数的同学将大于等于0.5的变为1,小于0.5的变为0得到一个n位的01序列(n取你学号的后三位所组成的整数)并对对生成的序列加奇校验码;学号为偶数的同学将大于0.4小于0.6的数的变为1,其余的变为0得到一个n位的01序列(n 取你学号的后三位所组成的整数) 并对生成的序列加偶校验码;假设1个符号的持续时间Tb=0.001s,载波1频率为5KHz,载波2频率为10KHz,试对生成的随机01序列进行2FSK 调制,并在同一图形界面上画出调制信号,已调波形(前10个二进制位)及调制之后功率谱图;设计两个带通滤波器将上述生成的2FSK信号分解成两个2ASK信号,并分别画出信号波形(前10个二进制位)。
matlab 课程设计 实验报告
![matlab 课程设计 实验报告](https://img.taocdn.com/s3/m/13fc66df5022aaea998f0f4a.png)
前言 (3)一.课程设计题目及要求 (4)1.1 课程设计的目的 (4)1.2课程设计内容及要求 (4)二.设计具体实现 (6)2.1 设计思想 (6)2.2 系统功能结构 (6)3.关键部分详细描述和介绍 (7)3.1 信号产生函数 (7)3.2 幅频分析函数 (8)3.3 相频分析函数 (8)3.4 切比雪夫高通滤波函数 (10)3.5 窗函数法高通滤波函数 (11)3.6 输出信号分析函数 (12)四. 心得体会 (13)参考文献 (14)源程序 (15)数字信号处理课程设计与《数字信号处理》课程配套,是电子通信工程专业的重要实践环节。
数字信号处理是每一个电子信息科学工作者必须掌握的重要知识。
数字信号处理是利用计算机或专用处理设备,以数值计算的方法对信号进行采集、抽样、变换、综合、估值与识别等加工处理,借以达到提取信息和便于应用的目的。
它在语音、雷达、图像、系统控制、通信、航空航天、生物医学等众多领域都获得了极其广泛的应用。
具有灵活、精确、抗干扰强、设备尺寸小、造价低、速度快等优点。
数字滤波器, 是数字信号处理中及其重要的一部分。
随着信息时代和数字技术的发展,受到人们越来越多的重视。
数字滤波器可以通过数值运算实现滤波,所以数字滤波器处理精度高、稳定、体积小、重量轻、灵活不存在阻抗匹配问题,可以实现模拟滤波器无法实现的特殊功能。
数字滤波器种类很多,根据其实现的网络结构或者其冲激响应函数的时域特性,可分为两种,即有限冲激响应( FIR,Finite Impulse Response)滤波器和无限冲激响应( IIR,Infinite Impulse Response)滤波器。
FIR滤波器结构上主要是非递归结构,没有输出到输入的反馈,系统函数H (z)在处收敛,极点全部在z = 0处(因果系统),因而只能用较高的阶数达到高的选择性。
FIR数字滤波器的幅频特性精度较之于IIR数字滤波器低,但是线性相位,就是不同频率分量的信号经过fir滤波器后他们的时间差不变,这是很好的性质。
武汉理工大学Matlab课程设计报告书
![武汉理工大学Matlab课程设计报告书](https://img.taocdn.com/s3/m/8dc29c6ecaaedd3383c4d355.png)
学号:课程设计题目学院专业班级姓名指导教师年月日课程设计任务书学生姓名:胡健专业班级:电信1004指导教师:李景松、祝立华工作单位:信息工程学院题目:Matlab运算与应用设计1初始条件:1.Matlab6.5以上版本软件;2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”等;3.先修课程:信号与系统、数字信号处理、Matlab应用实践及信号处理类课程等。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)①初步了解Matlab、熟悉Matlab界面、进行简单操作;②MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计;③基本绘图函数:plot, p lot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;④使用文本编辑器编辑m文件,函数调用;能进行简单的信号处理Matlab编程;⑤按要求参加课程设计实验演示和答辩等。
⑥课程设计说明书按学校“课程设计工作规范”中“统一书写格式”撰写。
时间安排:1周参考文献:[1](美)穆尔,高会生,刘童娜,李聪聪,MATLAB实用教程(第二版),电子工业出版社,2010[2]王正林,刘明,精通MATLAB(升级版),电子工业出版社,2011[3]陈杰,MATLAB宝典(第3版),电子工业出版社,2011[4]刘保柱,苏彦华,张宏林,MATLAB 7.0从入门到精通(修订版),人民邮电出版社,2010指导教师签名:年月日系主任(或责任教师)签名:年月日目录1.Matlab软件简介 (1)1.1 Matlab的发展历程 (1)1.2 Matlab的基本功能 (1)1.3 Matlab的基本应用 (2)2.具体题目分析 (2)2.1 题1.1 (2)2.2 题1.2 (3)2.3 题1.3 (4)2.4 题1.4 (5)2.5 题1.5 (11)2.6 题1.6 (12)2.7 题1.7 (13)2.8 题1.8 (14)2.9 题1.9 (15)2.10题1.10 (16)3.心得体会 (18)4.参考文献 (19)5.本科生课程设计成绩评定表 (20)Matlab运算与应用设计11.Matlab软件简介MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
matlab光学设计课程设计报告
![matlab光学设计课程设计报告](https://img.taocdn.com/s3/m/310ae822178884868762caaedd3383c4bb4cb43e.png)
matlab光学设计课程设计报告一、教学目标本课程旨在通过MATLAB软件平台,使学生掌握光学设计的基本原理和方法,培养学生的实际操作能力和创新意识。
知识目标:使学生掌握光学设计的基本理论、原理和算法,理解MATLAB在光学设计中的应用。
技能目标:培养学生利用MATLAB进行光学设计的能力,能够独立完成光学系统的设计和分析。
情感态度价值观目标:培养学生对光学设计的兴趣,增强其科学探究的精神,提高其创新能力和团队协作意识。
二、教学内容教学内容主要包括MATLAB软件的基本操作、光学设计的基本原理、光学系统的设计与分析。
具体包括:MATLAB软件的使用,光学基本概念,光学系统设计方法,MATLAB在光学设计中的应用实例。
三、教学方法本课程采用讲授法、实践操作法和案例分析法相结合的方式进行教学。
讲授法用于向学生传授光学设计和MATLAB使用的理论知识;实践操作法让学生通过实际操作,加深对理论知识的理解;案例分析法则通过分析实际案例,使学生掌握光学设计的方法和技巧。
四、教学资源教学资源包括教材《MATLAB光学设计》、多媒体教学课件、网络教学资源以及实验室设备。
教材《MATLAB光学设计》为学生提供光学设计的基本理论和MATLAB操作方法;多媒体教学课件则生动展示光学设计的原理和过程;网络教学资源为学生提供额外的学习资料和实践案例;实验室设备则为学生提供实际操作光学设计的机会。
五、教学评估本课程的评估方式包括平时表现、作业、考试三个部分,各占课程总评的30%、30%和40%。
平时表现主要考察学生的课堂参与度、提问回答、小组讨论等,通过观察和记录来进行评估。
作业则是对学生学习成果的直接检验,要求学生按时完成,并进行批改和反馈。
考试则是对学生整体学习情况的考察,包括理论知识和实践操作,采用闭卷考试的方式进行。
六、教学安排本课程的教学安排分为两个学期,每周两次课,每次课两小时。
第一学期主要讲解MATLAB的基本操作和光学设计的基本原理。
matlab课程设计
![matlab课程设计](https://img.taocdn.com/s3/m/57320cdfa32d7375a41780f8.png)
m a t l a b课程设计(简单计算器的设计)(共16页)--本页仅作为文档封面,使用时请直接删除即可----内页可以根据需求调整合适字体及大小--matlab课程设计报告题目简易计算器的设计学院电子信息工程学院专业电子信息学生姓名和学号指导教师一、选题目的及意义GUI的广泛应用是当今计算机发展的重大成就之一,它极大地方便了非专业用户的使用。
人们从此不再需要死记硬背大量的命令,取而代之的是可以通过窗口、菜单、按键等方式来方便地进行操作,而在matlab有很简单的gui设计工具,我们可以通过这个工具轻松地构建我们想要的程序,从而实现与用户的信息交互。
本次课程设计是使用了matlab中的guide生成了简单的计算器程序。
二、源代码function varargout = Calculator(varargin)%Simple Calculator%@Anhui University% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name', mfilename, ...'gui_Singleton', gui_Singleton, ...'gui_OpeningFcn', @Calculator_OpeningFcn, ...'gui_OutputFcn', @Calculator_OutputFcn, ...'gui_LayoutFcn', [] , ...'gui_Callback', []);if nargin && ischar(varargin{1})= str2func(varargin{1});endif nargout[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});elsegui_mainfcn(gui_State, varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before Calculator is made visible.function Calculator_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn.% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% varargin command line arguments to Calculator (see VARARGIN)% Choose default command line output for Calculator= hObject;% Update handles structureguidata(hObject, handles);% UIWAIT makes Calculator wait for user response (see UIRESUME)% uiwait;% --- Outputs from this function are returned to the command line. function varargout = Calculator_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT);% hObject handle to figure% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Get default command line output from handles structure varargout{1} = ;% --- Executes on button press in p1.function p1_Callback(hObject, eventdata, handles)% hObject handle to p1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'1');set,'string',textstring)% --- Executes on button press in p2.function p2_Callback(hObject, eventdata, handles)% hObject handle to p2 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'2');set,'string',textstring)% --- Executes on button press in p3.function p3_Callback(hObject, eventdata, handles)% hObject handle to p3 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'3');set,'string',textstring)% --- Executes on button press in p4.function p4_Callback(hObject, eventdata, handles)% hObject handle to p4 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'4');set,'string',textstring)% --- Executes on button press in p5.function p5_Callback(hObject, eventdata, handles)% hObject handle to p5 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'5');set,'string',textstring)% --- Executes on button press in p6.function p6_Callback(hObject, eventdata, handles)% hObject handle to p6 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'6');set,'string',textstring)% --- Executes on button press in p7.function p7_Callback(hObject, eventdata, handles)% hObject handle to p7 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'7');set,'string',textstring)% --- Executes on button press in p8.function p8_Callback(hObject, eventdata, handles)% hObject handle to p8 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'8');set,'string',textstring)% --- Executes on button press in p9.function p9_Callback(hObject, eventdata, handles)% hObject handle to p9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'9');set,'string',textstring)% --- Executes on button press in add.function add_Callback(hObject, eventdata, handles)% hObject handle to add (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'+');set,'string',textstring)% --- Executes on button press in p0.function p0_Callback(hObject, eventdata, handles)% hObject handle to p0 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'0');set,'string',textstring)% --- Executes on button press in sub.function sub_Callback(hObject, eventdata, handles)% hObject handle to sub (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'-');set,'string',textstring)% --- Executes on button press in div.function div_Callback(hObject, eventdata, handles)% hObject handle to div (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'/');set,'string',textstring)% --- Executes on button press in mul.function mul_Callback(hObject, eventdata, handles)% hObject handle to mul (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'*');set,'string',textstring)% --- Executes on button press in denghao.function denghao_Callback(hObject, eventdata, handles)% hObject handle to denghao (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=eval(textstring);set,'string',textstring)% --- Executes on button press in clear.function clear_Callback(hObject, eventdata, handles)% hObject handle to clear (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) set,'string','0')% --------------------------------------------------------------------function exit_Callback(hObject, eventdata, handles)% hObject handle to exit (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) close(gcf)% --------------------------------------------------------------------function calculate_Callback(hObject, eventdata, handles)% hObject handle to calculate (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=eval(textstring);set,'string',textstring)% --- Executes on button press in point.function point_Callback(hObject, eventdata, handles)% hObject handle to point (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) textstring=get,'string');textstring=strcat(textstring,'.');set,'string',textstring)设计功能:1.可进行加减乘除四则运算2.可进行清零,退出等三、界面设计及运行结果1-1. GUIDE 设计界面1-2.进入程序初始状态1-3.简单的实例测试五、心得及体会通过这次matlab课程设计,让我对matlab有了更深的了解。
《MATLAB课程设计》报告.DOC
![《MATLAB课程设计》报告.DOC](https://img.taocdn.com/s3/m/658bb007964bcf84b9d57be0.png)
《MATLAB课程设计》报告设计题目:基于MATLAB的语音信号采集与处理学生姓名:学生学号:********专业班级:光信息科学与技术答辩时间:2013年12月指导教师:冯明库广东技术师范学院电子与信息学院一、设计目的及意义1. MATLAB软件功能简介MATLAB的名称源自Matrix Laboratory,1984年由美国Mathworks公司推向市场。
它是一种科学计算软件,专门以矩阵的形式处理数据。
MATLAB将高性能的数值计算和可视化集成在一起,并提供了大量的内置函数,从而被广泛的应用于科学计算、控制系统和信息处理等领域的分析、仿真和设计工作。
MATLAB软件包括五大通用功能,数值计算功能(Nemeric)、符号运算功能(Symbolic)、数据可视化功能(Graphic)、数字图形文字统一处理功能(Notebook)和建模仿真可视化功能(Simulink)。
其中,符号运算功能的实现是通过请求MAPLE 内核计算并将结果返回到MATLAB命令窗口。
该软件有三大特点,一是功能强大;二是界面友善、语言自然;三是开放性强。
目前,Mathworks公司已推出30多个应用工具箱。
MATLAB在线性代数、矩阵分析、数值及优化、数值统计和随机信号分析、电路与系统、系统动力学、次那好和图像处理、控制理论分析和系统设计、过程控制、建模和仿真、通信系统以及财政金融等众多领域的理论研究和工程设计中得到了广泛应用。
MATLAB在信号与系统中的应用主要包括符号运算和数值计算仿真分析。
由于信号与系统课程的许多内容都是基于公式演算,而MATLAB借助符号数学工具箱提供的符号运算功能,能基本满足信号与系统课程的需求。
例如解微分方程、傅里叶正反变换、拉普拉斯正反变换和z正反变换等。
MATLAB在信号与系统中的另一主要应用是数值计算与仿真分析,主要包括函数波形绘制、函数运算、冲击响应与阶跃响应仿真分析、信号的时域分析、信号的频谱分析、系统的S域分析和零极点图绘制等内容。
matlab自修课程设计报告(matlab实现傅立叶变换)
![matlab自修课程设计报告(matlab实现傅立叶变换)](https://img.taocdn.com/s3/m/1064cd5771fe910ef12df8e7.png)
matlab实现信号的傅立叶变换一、设计目的1.熟悉和掌握matlab的基本使用方法,能够熟练运用matlab。
ﻩ2.巩固信号与系统中的傅立叶变换内容,加深对这部分内容的理解。
二、设计任务ﻩ1.掌握matlab的基本操作。
2.利用matlab实现典型非周期信号的傅立叶变换,画出信号的时域图和频域图。
3.利用matlab实现傅立叶变换的基本性质。
三、设计原理1.matlab简介MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,经过多年大量的、坚持不懈的改进,现在MATLAB已经更新至7.x版。
MATLAB集数值分析、矩阵运算、信号处理和图形显示于一体,构成了一个方便的、界面友好的用户环境。
在这个环境下,对所要求解的问题,用户只需简单地列出数学表达式,其结果便以人们十分熟悉的数值或图形方式显示出来。
MATLAB可用来解决实际的工程和数学问题,其典型应用有:通用的数值计算,算法设计,各种学科(如自动控制、数字信号处理、统计信号处理)等领域的专门问题求解。
MATLAB语言易学易用,不要求用户有高深的数学和程序语言知识,不需要用户深刻了解算法及编程技巧。
MATLAB既是一种编程环境,又是一种程序设计语言。
这种语言与C、FORTRAN等语言一样,有其内定的规则,但MATLAB的规则更接近数学表示。
使用更为简便,可使用户大大节约设计时间,提高设计质量。
2.matlab2013b基本界面介绍matlab2013b主界面窗口基本分为五个部分:1)主菜单界面在此界面我们只需要用到新建命令文件和对程序进行间断调试的功能2)文件查看窗口,双击可快速打开文件3)写命令窗口及提示窗口在这个窗口可写入参数、写入公式、显示错误、显示帮助等功能,例如对a赋值、写入公式f =a*a、显示帮助:公式fft的使用方法4)历史命令查看窗口在该窗口可查看历史输入命令,双击历史命令可再次输入到命令窗口5)数值查看窗口在该窗口可查看所有参数详细数值3.理论原理:傅里叶变换的基本思想首先由法国学者傅里叶系统提出,所以以其名字来命名以示纪念。
MATLAB课程设计报告
![MATLAB课程设计报告](https://img.taocdn.com/s3/m/a6c6c3c30c22590102029dc3.png)
《基于MATLAB的图像处理》课程设计学生姓名:徐清福学号:110700136专业班级:信通一班指导教师:郑晓明二○一零年 4 月8 日目录(二号字体)一.课程设计目的 (2)二.课程设计要求 (2)三.课程设计报告内容 (2)四.程序需求和模块分析 (2)五.详细设计过程 (3)六.调试及分析 (16)七.心得体会 (17)八.附录 (18)九.参考文献 (34)课程设计的内容如下:一.课程设计目的综合运用MATLAB工具箱实现图像处理的GUI程序设计。
二.课程设计题目描述和要求1)熟悉和掌握MATLAB 程序设计方法2)掌握MATLAB GUI 程序设计3)学习和熟悉MATLAB图像处理工具箱4)学会运用MATLAB工具箱对图像进行处理和分析三.课程设计报告内容学习MATLAB GUI程序设计,利用MA TLAB图像处理工具箱,设计和实现自己的Photoshop 。
要求:按照软件工程方法,根据需求进行程序的功能分析和界面设计,给出设计详细说明。
然后按照自己拟定的功能要求进行程序设计和调试。
1)图像的读取和保存。
2)设计图形用户界面,让用户能够对图像进行任意的亮度和对比度变化调整,显示和对比变换前后的图像。
3)设计图形用户界面,让用户能够用鼠标选取图像感兴趣区域,显示和保存该选择区域。
4)编写程序通过最近邻插值和双线性插值等算法将用户所选取的图像区域进行放大和缩小整数倍的操作,并保存,比较几种插值的效果。
5)图像直方图统计和直方图均衡,要求显示直方图统计,比较直方图均衡后的效果。
6)能对图像加入各种噪声,并通过几种滤波算法实现去噪并显示结果。
比较去噪效果。
四.程序需求和功能模块分析在设计过程中出满足了一般的数字图像处理功能。
例如读取图像、保存图像、图像的旋转变换、加噪声去噪声、彩色图像直方图统计、频谱分析、灰度图像处理和彩色图像的颜色转换模型等基本功能。
本设计还加入了边沿检测和用滑动条控制图像的亮度和gamma值等功能。
matlab课程设计报告摘要
![matlab课程设计报告摘要](https://img.taocdn.com/s3/m/e5326d910408763231126edb6f1aff00bed570b5.png)
matlab课程设计报告摘要一、教学目标本课程的教学目标是使学生掌握MATLAB的基本语法、编程技巧和应用方法,能够利用MATLAB进行简单的科学计算和数据分析。
具体目标如下:1.掌握MATLAB的基本语法和数据类型。
2.掌握MATLAB的矩阵运算和线性方程求解。
3.了解MATLAB的图形绘制和图像处理功能。
4.能够使用MATLAB进行简单的科学计算和数据分析。
5.能够编写MATLAB脚本文件和函数文件。
6.能够利用MATLAB绘制图形和图像。
情感态度价值观目标:1.培养学生的团队合作意识和沟通能力。
2.培养学生的创新思维和实践能力。
3.培养学生的科学精神和责任感。
二、教学内容根据课程目标,教学内容主要包括MATLAB的基本语法、矩阵运算、线性方程求解、图形绘制和图像处理。
具体安排如下:1.MATLAB的基本语法和数据类型:变量定义、数据类型转换、运算符、函数等。
2.矩阵运算:矩阵的创建、矩阵的运算规则、矩阵的逆、矩阵的秩等。
3.线性方程求解:高斯消元法、矩阵的逆、线性方程组的解法等。
4.图形绘制:基本图形绘制、图形的属性设置、图形的编辑和修饰等。
5.图像处理:图像的读取和显示、图像的转换和处理、图像的分析和识别等。
三、教学方法为了激发学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式。
主要包括:1.讲授法:通过讲解MATLAB的基本语法、矩阵运算、线性方程求解等内容,使学生掌握相关知识。
2.案例分析法:通过分析实际案例,使学生了解MATLAB在科学计算和数据分析中的应用。
3.实验法:通过上机实验,使学生亲自操作MATLAB,巩固所学知识,提高实际操作能力。
4.小组讨论法:通过小组讨论和合作,培养学生的团队合作意识和沟通能力。
四、教学资源为了支持教学内容和教学方法的实施,丰富学生的学习体验,我们将准备以下教学资源:1.教材:《MATLAB入门教程》或《MATLAB实用教程》等。
2.参考书:提供一些相关的参考书籍,供学生课后自学。
MATLAB温度控制系统课程设计报告 案例范本
![MATLAB温度控制系统课程设计报告 案例范本](https://img.taocdn.com/s3/m/5220a9e5c0c708a1284ac850ad02de80d4d80628.png)
MATLAB温度控制系统课程设计报告案例范本一、课程设计题目基于MATLAB的温度控制系统设计二、设计背景温度控制是工业生产、家庭生活中常见的一种控制过程,其目的是通过控制温度来保持环境的稳定性和舒适性。
本次课程设计旨在通过MATLAB软件,设计一种基于PID控制的温度控制系统,实现对温度的精确控制。
三、设计目标1.熟悉PID控制器的基本原理和控制算法;2.掌握MATLAB软件的基本操作和编程技巧;3.设计出一种基于PID控制的温度控制系统,实现对温度的稳定控制;4.学会分析和优化控制系统的性能。
四、设计流程1.建立模型根据实际情况,建立温度控制系统的数学模型,可以采用传热学原理,建立温度传递方程,得到系统的状态空间模型。
2.设计控制器采用PID控制器对温度控制系统进行控制,根据系统的状态空间模型,设计PID控制器的参数,可以采用自整定PID控制器或手动调整PID 控制器的参数。
3.仿真分析使用MATLAB软件进行系统仿真分析,对控制系统的性能进行评估,包括稳态误差、响应速度、稳定性等指标。
4.优化控制器根据仿真分析的结果,对控制器进行参数调整和优化,提高系统的控制性能。
5.实际实验将控制器实现到实际温度控制系统中,进行实际实验,验证控制器的性能和稳定性。
五、设计结果通过以上流程,设计出一种基于PID控制的温度控制系统,实现对温度的稳定控制。
在仿真分析中,系统的稳态误差小、响应速度快、稳定性好,满足实际控制需求。
在实际实验中,控制器的性能和稳定性得到了验证,达到了预期的控制效果。
六、设计总结本次课程设计通过MATLAB软件,设计出一种基于PID控制的温度控制系统,深入理解了PID控制器的基本原理和控制算法,掌握了MATLAB软件的基本操作和编程技巧。
通过仿真分析和实际实验,对控制系统的性能进行了评估和优化,提高了系统的控制性能和稳定性。
本次课程设计对于提高学生的实际操作能力和掌握控制理论知识有一定的帮助。
matlab课程设计报告摘要
![matlab课程设计报告摘要](https://img.taocdn.com/s3/m/55205549e3bd960590c69ec3d5bbfd0a7856d561.png)
matlab课程设计报告摘要一、教学目标本课程的教学目标是使学生掌握MATLAB的基本语法、编程技巧以及解决科学计算和工程问题的能力。
具体目标如下:1.知识目标:•掌握MATLAB的基本数据类型、运算符和表达式。
•理解MATLAB的编程结构,包括条件语句、循环语句和函数。
•熟悉MATLAB的矩阵操作、数据分析和解算器功能。
2.技能目标:•能够使用MATLAB进行数学计算、数据可视化和仿真。
•能够编写MATLAB脚本文件和函数文件,解决实际问题。
•能够利用MATLAB与其他软件进行数据交换和协同工作。
3.情感态度价值观目标:•培养学生的团队合作精神和问题解决能力。
•培养学生的创新意识和科学思维方式。
•培养学生对MATLAB软件的兴趣和积极性。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个方面:1.MATLAB基本语法和编程结构:•数据类型、运算符和表达式。
•变量和赋值语句。
•矩阵操作和线性方程组求解。
2.MATLAB控制结构:•条件语句和循环语句。
•嵌套结构和转移语句。
3.MATLAB函数和脚本文件:•函数的定义和调用。
•脚本文件的编写和执行。
4.MATLAB数据可视化和仿真:•二维和三维图形绘制。
•图像处理和动画制作。
5.MATLAB与其他软件的交互:•数据交换和文件操作。
•与其他编程语言的集成。
三、教学方法为了实现教学目标,本课程将采用多种教学方法相结合的方式:1.讲授法:通过教师的讲解和示范,引导学生掌握MATLAB的基本概念和编程技巧。
2.讨论法:通过小组讨论和问题解答,培养学生的合作精神和问题解决能力。
3.案例分析法:通过分析实际案例,让学生学会将MATLAB应用于解决科学计算和工程问题。
4.实验法:通过上机实验,让学生动手实践,加深对MATLAB编程的理解和应用能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将利用以下教学资源:1.教材:选用权威的MATLAB教材,提供全面、系统的知识体系。
简单matlab课程设计报告
![简单matlab课程设计报告](https://img.taocdn.com/s3/m/63a93d6bf011f18583d049649b6648d7c1c7083d.png)
简单matlab课程设计报告一、教学目标本课程旨在通过MATLAB软件的基本操作和编程技巧,培养学生的科学计算能力和解决实际问题的能力。
通过本课程的学习,学生将掌握MATLAB软件的基本使用方法,包括数据的导入导出、矩阵运算、图形绘制等功能,并能够运用MATLAB进行简单的科学计算和数据分析。
在技能目标方面,学生将学会使用MATLAB编写简单的脚本程序和函数程序,能够运用MATLAB解决实际问题,如线性方程组的求解、数据的拟合和可视化等。
在情感态度价值观目标方面,学生将培养对科学计算和数据分析的兴趣,提高对MATLAB软件的认同感和运用MATLAB解决实际问题的自信心。
二、教学内容本课程的教学内容主要包括MATLAB软件的基本操作、矩阵运算、图形绘制以及简单的编程技巧。
具体来说,我们将从MATLAB软件的安装和使用方法开始,介绍MATLAB的工作环境、命令窗口和图形用户界面。
然后,我们将学习MATLAB的基本数据类型,如矩阵和细胞数组,以及基本的矩阵运算,如加减乘除、转置和逆矩阵等。
接下来,我们将介绍MATLAB的图形绘制功能,包括绘制线图、散点图、柱状图等,并学习如何对图形进行美化和标注。
最后,我们将学习MATLAB的编程技巧,包括变量的定义和赋值、循环和条件语句、函数的定义和调用等。
三、教学方法为了提高学生的学习兴趣和主动性,我们将采用多种教学方法相结合的方式进行教学。
首先,我们将采用讲授法,系统地讲解MATLAB软件的基本操作和编程技巧,帮助学生建立扎实的理论基础。
同时,我们将结合讨论法,鼓励学生积极参与课堂讨论,提出问题和建议,促进师生之间的互动和交流。
其次,我们将采用案例分析法,通过分析和解决实际问题,让学生学会将MATLAB软件应用于实际场景,提高学生的应用能力和解决问题的能力。
此外,我们还将实验课,让学生亲自动手操作MATLAB软件,进行科学计算和数据分析,提高学生的实践能力和动手能力。
matlab课程设计报告模板
![matlab课程设计报告模板](https://img.taocdn.com/s3/m/055c13a6fbb069dc5022aaea998fcc22bcd143df.png)
matlab课程设计报告模板一、教学目标本课程的教学目标是使学生掌握MATLAB的基本功能和使用方法,能够运用MATLAB进行简单的数学计算、数据处理和图形绘制。
具体分为以下三个部分:1.知识目标:学生需要了解MATLAB的基本组成、工作环境以及常用的数学函数和工具箱。
2.技能目标:学生能够熟练使用MATLAB进行矩阵运算、数学计算、数据分析和图形绘制。
3.情感态度价值观目标:通过学习MATLAB,培养学生对科学计算和计算机辅助设计的兴趣,提高学生解决实际问题的能力。
二、教学内容根据课程目标,教学内容主要包括以下几个部分:1.MATLAB概述:介绍MATLAB的发展历程、功能特点和应用领域。
2.MATLAB基本操作:包括矩阵运算、数学计算、数据分析、图形绘制等。
3.MATLAB工具箱:介绍MATLAB常用的工具箱,如数值计算工具箱、信号处理工具箱等。
4.MATLAB实际应用案例:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
三、教学方法为了达到课程目标,我们将采用以下教学方法:1.讲授法:通过讲解MATLAB的基本概念和操作方法,使学生掌握MATLAB的基本使用技巧。
2.案例分析法:分析实际案例,让学生学会将MATLAB应用于实际问题的解决。
3.实验法:安排上机实验,让学生动手操作,巩固所学知识。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作。
四、教学资源为了支持教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:《MATLAB教程》或其他类似教材。
2.参考书:提供相关的参考书籍,供学生课后自学。
3.多媒体资料:制作课件和教学视频,辅助课堂教学。
4.实验设备:提供计算机实验室,让学生进行上机实验。
五、教学评估为了全面、客观地评估学生的学习成果,我们将采取以下评估方式:1.平时表现:通过课堂参与、提问、讨论等方式,评估学生在课堂上的表现。
2.作业:布置适量的作业,评估学生对知识的掌握和应用能力。
MATLAB课程设计报告
![MATLAB课程设计报告](https://img.taocdn.com/s3/m/346d835ea31614791711cc7931b765ce05087ace.png)
目录一、课程设计目的 (1)二、课程设计任务 (1)三、课程设计题目 (1)3.1、画出分段函数图: (1)3.2、信号的产生与变换 (2)3.3、财经问题 (3)3.4、计算平均学分积GPA (4)3.5、供煤量分配问题 (6)四、课程设计结论及分析 (7)五、心得体会 (7)六、参考文献 (7)一、课程设计目的1. 熟悉MATLAB 的工作环境;2. 熟悉并练习MATLAB 的命令;3. 掌握MATLAB 的基本操作;4. 熟练掌握MATLAB 的基本应用。
二、课程设计任务1.熟练掌握MATLAB 的基本用法以及实际应用;2.将课程设计题目解答完毕,完成一下内容:(1)、画出分段函数图;(2)、信号的产生与变换;(3)、财经问题;(4)、计算平均学分积GPA ;(5)、供煤量分配问题。
三、课程设计题目3.1、画出分段函数图:2222220.5457exp(0.75 3.75 1.5),1(,)0.7575exp(6),1105457exp(0.75 3.75 1.5),1y x x x y p x y y x x y y x x x y ⎧---+>⎪=---<+≤⎨⎪--++≤-⎩(1) 程序:x=-3:0.1:3;y=-3:0.1:3;length_of_x=length(x);length_of_y=length(y);for i=1:length_of_xfor j=1:length_of_yif (x(i)+y(j))>1z(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2-1.5*x(i)); elseif ((x(i)+y(j))>-1)&&((x(i)+y(j))<=1)z(i,j)=0.7575*exp(-y(j)^2-6*x(i)^2);elsez(i,j)=0.5457*exp(-0.75*y(j)^2-3.75*x(i)^2+1.5*x(i)); endendendmesh(x,y,z)(2) 运行结果:3.2、信号的产生与变换数字信号处理中y(n)=x(-n)的画图实现;其中21,33()0, n 3n n x n +-≤≤⎧=⎨>⎩(1)程序:n=-4:4;for i=1:9if abs(n(i))>3x(i)=0;else x(i)=2*n(i)+1;endendy=fliplr(x);stem(n,y);(2)运行结果:3.3、财经问题一笔100000元的贷款要按每月等额偿付d元的方式付清。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学号课程设计题目Matlab应用课程设计学院信息工程学院专业电子信息工程班级姓名指导教师桂林2011 年12 月13 日Matlab应用课程设计任务书学生姓名: 专业班级:指导教师: 桂林工作单位: 信息工程学院题目:Matlab运算与应用设计2初始条件:1.Matlab6.5以上版本软件;2.课程设计辅导资料:“Matlab语言基础及使用入门”、“Matlab及在电子信息课程中的应用”、线性代数及相关书籍等;3.先修课程:高等数学、线性代数、电路、Matlab应用实践及信号处理类相关课程等。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1.课程设计时间:1.5周;2.课程设计内容:根据指导老师给定的7套题目,按规定选择其中1套完成;3.本课程设计统一技术要求:研读辅导资料对应章节,对选定的设计题目进行理论分析,针对具体设计部分的原理分析、建模、必要的推导和可行性分析,画出程序设计框图,编写程序代码(含注释),上机调试运行程序,记录实验结果(含计算结果和图表),并对实验结果进行分析和总结。
具体设计要求包括:①初步了解Matlab、熟悉Matlab界面、进行简单操作;②MATLAB的数值计算:创建矩阵、矩阵运算、多项式运算、线性方程组、数值统计;③基本绘图函数:plot, plot3, mesh, surf等,要求掌握以上绘图函数的用法、简单图形标注、简单颜色设定等;④使用文本编辑器编辑m文件,函数调用;⑤能进行简单的信号处理Matlab编程;⑥按要求参加课程设计实验演示和答辩等。
4.课程设计说明书按学校“课程设计工作规范”中的“统一书写格式”撰写,具体包括:①目录;②与设计题目相关的理论分析、归纳和总结;③与设计内容相关的原理分析、建模、推导、可行性分析;④程序设计框图、程序代码(含注释)、程序运行结果和图表、实验结果分析和总结;⑤课程设计的心得体会(至少500字);⑥参考文献(不少于5篇);⑦其它必要内容等。
时间安排:(1) 布置课程设计任务,查阅资料,确定方案三天;(2) 进行编程设计五天;(3) 完成课程设计报告书两天;指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 Matlab软件简介 (1)1.1 Matlab的发展历程........... . (1)1.2 Matlab的特点和优势............ . (2)1.3 Matlab的基本语法和函数....... .. (4)2 设计题目 (6)3 设计内容 (7)3.1 题1的分析与运算结果...... ..... ...... .. (7)3.2 题2的分析与运算结果...... ..... ...... .. (8)3.3 题3的分析与运算结果...... ..... ...... .. (9)3.4 题4的分析与运算结果...... ..... ...... .. (9)3.5 题5的分析与运算结果...... ..... ...... .. (13)3.6 题6的分析与运算结果...... ..... ...... .. (13)3.7 题7的分析与运算结果...... ..... ...... .. (13)3.8 题8的分析与运算结果...... ..... ...... .. (14)3.9 题9的分析与运算结果...... ..... ...... .. (15)3.10 题10的分析与运算结果...... ..... ...... . (15)4 课程设计心得 (16)5 参考文献 (16)6 本科生课程设计成绩评定表 (18)Matlab应用课程设计1 Matlab软件简介Matlab是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案,并在很大程度上摆脱了传统非交互式程序设计语言(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进水平。
它在数学类科技应用软件中在数值计算方面首屈一指。
Matlab可以进行矩阵运算、绘制函数和数据、实现算法、创建用户界面、连接其他编程语言的程序等,主要应用于工程计算、控制设计、信号处理与通讯、图像处理、信号检测、金融建模设计与分析等领域。
1.1 Matlab的发展历程MATLAB名称是由两个英文单词Ma~ix和Laboratory的前二个字母组成。
20世纪70年代后期,美国新墨西哥大学计算机系主任Cleve.Moler教授为了便于教学,减轻学生编写Fortran程序的负担,为两个矩阵运算软件包Linpack和Eispack编写了接口程序,这也许就算MATLAB的第一个版本。
1984年,在JackLittle(也称JohnLittle)的建议推动下,由Little、Moler、SteveBangert三人合作,成立rMathWorks公司,同时把MATLAB正式推向市场。
从那时开始,MATLAB的源代码采用C语言编写,除加强了原有的数值计算能力外,还增加了数据图形的可视化功能。
1993年,MathWorks公司推出了MATLAB的4.0版本,系统平台由DOS改为Windows,推出了功能强大的、可视化的、交互环境的用于模拟非线性动态系统的工具Simulink,第一次成功开发出了符号计算工具包Symbolic Math Toolbox 1.0,为MATLAB进行实时数据分析、处理和硬件开发而推出了与外部直接进行数据交换的组件,为MATLAB能融科学计算、图形可视、文字处理于一体而制作了Notebook,实现了MATLAB与大型文字处理软件Word的成功对接。
至此,MathWorks使MATLAB成为国际控制界公认的标准计算软件。
1997年,MathWorks公司推出了MATLAB的5.0版本,紧接着产生了5.1、5.2版本,至1999年MATLAB发展到5.3版本。
MATLAB拥有了更丰富的数据类型和结构,更好的面向对象的快速精美的图形界面,更多的数学和数据分析资源,MATLAB工具也达到了25个,几乎涵盖了整个科学技术运算领域。
在大部分大学里,应用代数、数理统计、自动控制、数字信号处理、模拟与数字通信、时间序列分析、动态系统仿真等课程的教材都把MATLAB作为必不可少的内容。
在国际学术界,MATLAB被确认为最准确可靠的科学计算标准软件,在许多国际一流的学术刊物上都可以看到MATLAB在各个领域里的应用。
1.2 Matlab的特点和优势MATLAB作为一种科学计算的高级语言之所以受欢迎,就是因为它有丰富的函数资源和工具箱资源,编程人员可以根据自己的需要选择函数,而无需再去编写大量繁琐的程序代码,从而减轻了编程人员的工作负担。
被称为第四代编程语言的MATLAB最大的特点就是简洁开放的程序代码和直观实用的开发环境。
具体地说MATLAB主要有以下特点:(1)友好的工作平台和编程环境MATLAB由一系列工具组成。
这些工具方便用户使用MATLAB的函数和文件,其中许多工具采用的是图形用户界面。
包括MATLAB桌面和命令窗口、历史命令窗口、编辑器和调试器、路径搜索和用于用户浏览帮助、工作空间、文件的浏览器。
随着MATLAB的商业化以及软件本身的不断升级,MATLAB的用户界面也越来越精致,更加接近Windows的标准界面,人机交互性更强,操作更简单。
而且新版本的MATLAB提供了完整的联机查询、帮助系统,极大的方便了用户的使用。
简单的编程环境提供了比较完备的调试系统,程序不必经过编译就可以直接运行,而且能够及时地报告出现的错误及进行出错原因分析。
(2)简单易用的程序语言MATLAB是一个高级的矩阵/阵列语言,它包含控制语句、函数、数据结构、输入和输出和面向对象编程特点。
用户可以在命令窗口中将输入语句与执行命令同步,也可以先编写好一个较大的复杂的应用程序(M文件)后再一起运行。
新版本的MATLAB语言是基于最为流行的C++语言基础上的,因此语法特征与C++语言极为相似,而且更加简单,更加符合科技人员对数学表达式的书写格式。
使之更利于非计算机专业的科技人员使用。
而且这种语言可移植性好、可拓展性极强,这也是MATLAB能够深入到科学研究及工程计算各个领域的重要原因。
(3)强大的科学计算机数据处理能力MATLAB是一个包含大量计算算法的集合。
其拥有600多个工程中要用到的数学运算函数,可以方便的实现用户所需的各种计算功能。
函数中所使用的算法都是科研和工程计算中的最新研究成果,而前经过了各种优化和容错处理。
在通常情况下,可以用它来代替底层编程语言,如C和C++ 。
在计算要求相同的情况下,使用MATLAB的编程工作量会大大减少。
MATLAB的这些函数集包括从最简单最基本的函数到诸如矩阵,特征向量、快速傅立叶变换的复杂函数。
函数所能解决的问题其大致包括矩阵运算和线性方程组的求解、微分方程及偏微分方程的组的求解、符号运算、傅立叶变换和数据的统计分析、工程中的优化问题、稀疏矩阵运算、复数的各种运算、三角函数和其他初等数学运算、多维数组操作以及建模动态仿真等。
(4)出色的图形处理功能MATLAB自产生之日起就具有方便的数据可视化功能,以将向量和矩阵用图形表现出来,并且可以对图形进行标注和打印。
高层次的作图包括二维和三维的可视化、图象处理、动画和表达式作图。
可用于科学计算和工程绘图。
新版本的MATLAB对整个图形处理功能作了很大的改进和完善,使它不仅在一般数据可视化软件都具有的功能(例如二维曲线和三维曲面的绘制和处理等)方面更加完善,而且对于一些其他软件所没有的功能(例如图形的光照处理、色度处理以及四维数据的表现等),MATLAB同样表现了出色的处理能力。
同时对一些特殊的可视化要求,例如图形对话等,MATLAB也有相应的功能函数,保证了用户不同层次的要求。
另外新版本的MATLAB还着重在图形用户界面(GUI)的制作上作了很大的改善,对这方面有特殊要求的用户也可以得到满足。
(5)应用广泛的模块集合工具箱MATLAB对许多专门的领域都开发了功能强大的模块集和工具箱。
一般来说,它们都是由特定领域的专家开发的,用户可以直接使用工具箱学习、应用和评估不同的方法而不需要自己编写代码。
目前,MATLAB已经把工具箱延伸到了科学研究和工程应用的诸多领域,诸如数据采集、数据库接口、概率统计、样条拟合、优化算法、偏微分方程求解、神经网络、小波分析、信号处理、图像处理、系统辨识、控制系统设计、LMI控制、鲁棒控制、模型预测、模糊逻辑、金融分析、地图工具、非线性控制设计、实时快速原型及半物理仿真、嵌入式系统开发、定点仿真、DSP与通讯、电力系统仿真等,都在工具箱(Toolbox)家族中有了自己的一席之地。