180 likes | 469 Views
MATLAB 的应用. 二课时. 本节课的目的. 本节课旨在使大家对 Matlab 有一个全面 的了解,能知道 Matlab 到底能够做什么,以 及用 Matlab 进行设计的一般方法。因此本节 课并不涉及太多的函数和命令,我们把那当 作是细节的东西。所以希望大家在听课的时 候把注意力放在设计的思想上。 我们将以例子为重点,对 Matlab 的常用 功能进行探讨。. MATLAB 可以做什么?. 数值和矩阵计算功能 符号计算 数据分析和可视化功能, GUI 设计 文字处理功能 强大的 SIMULINK 动态仿真功能
E N D
MATLAB的应用 二课时
本节课的目的 本节课旨在使大家对Matlab有一个全面 的了解,能知道Matlab 到底能够做什么,以 及用Matlab 进行设计的一般方法。因此本节 课并不涉及太多的函数和命令,我们把那当 作是细节的东西。所以希望大家在听课的时 候把注意力放在设计的思想上。 我们将以例子为重点,对Matlab的常用 功能进行探讨。
MATLAB可以做什么? • 数值和矩阵计算功能 • 符号计算 • 数据分析和可视化功能,GUI设计 • 文字处理功能 • 强大的SIMULINK动态仿真功能 • 与其他编程语言可以混合编程 • 功能齐全的各式工具箱 • 声音处理,制作动画等小技巧
别急,来点基础知识 先来熟悉MATLAB6.0的界面:分为命令 窗口,工作空间,向导面板,历史记录,当 前目录,M文件编辑器,图形编辑器,GUI 图形用户界面编辑,SIMULINK仿真模型等。 准备好了吗?让我们开始吧! 我们将以例子为重点讲述。
入门基础 Matlab=matrix laboratory 在此不介绍具体函数与命令,只讲些注意事项。 1,函数与脚本的区别!(重要) 脚本=批处理文件 (6.0:命令历史生成M文件:一般是脚本) 2,:的妙用 3,有;与没有;的区别 4,向上方向键的用途,以及一些命令窗口的基本命令,如类DOS命令,clc,clear all等。 5,强大的Help功能 (见例1:myfun.m和myscript.m)
第一章 数值和矩阵运算 1 注意矩阵的下标,(),[ ],{ }的区别。 见例:bat1.m 2 矩阵和数组的算术运算。包括求解线性方程,多项式运算 ,稀疏矩阵等. 有很多很多的函数,在此不多讲。 例子:arrayfun.m
第二章 符号运算 符号运算实现了不用对具体的数值而只 对一个表达式进行操作的功能。如对 f(x)=4x3+5X2+9x+20求微分等。 可在微积分,极限,线性代数,求解方程,积分变换等运用。 见例子:signuse.m
第三章 可视化 1 先来看看用matlab做的几副图。 rainbow.m photo1.m photo2.m 2 绘制二维三维图形的基本技巧。 3 绘图的标注问题. 4 利用图形面板直接对图形操作. 3D旋转 5 高级应用. 6 专用图形的绘制 ,包括条形图,直方图,等高线图,饼形图,离散数据图,瀑布图等。见例: specialsign.m
第四章 GUI编程 在6.0里面,GUI的编程更加人性化了。 1 句柄的初步知识 2 利用向导设计菜单:fig1.fig 3 利用向导设计控件:fig2.fig 4 利用程序来编写菜单和控件 我们一步步的操作来完成这两个例子 的设计
第五章 文本处理功能 通过notebook,用户可以方便地创建包含 文本,Matlab命令及使用Matlab得到的结果 的文档。通常notebook用于创建:Matlab程 序文档,有关Matlab的教科书,Matlab技术 报告,Matlab注释文档等。 Notebook的使用必须有word 和Matlab。 请看例子:notebook1.doc
第六章 SIMULINK 这是对动态系统进行建模,仿真和分析的 一个软件包。它支持线性和非线性系统,连 续和离散时间系统,连续和时间混合系统等。 在此,我们举两个例子,一个是最简单的 输入正弦波,然后用示波器来查看输出: Insin.mdl。另一个是由工作空间引入作为输 入,注意引入时需要掌握的规则。例: Inworkspace.mld.
第七章 声音处理 Sound(y) 将向量y传送给扬声器。振幅由y决 定 Sound(y,f)外加设置采样频率。 Soundsc(x,f,slim) 与sound采用同样的方式 播放向量x,只是声音可以尽可能地大。f--采 样频率,slim---满音量范围,缺省时为: [min(x),max(x)].此外还可以从外部声音文件 提取声音数据。 例子见:sound.m
第八章 制作动画 动画以帧的形式保存在矩阵的每一列中, (通常用getframe的方法),之后再从矩阵 中将帧显示出来(用movie的方法)。在记 录动画之前要注意保存坐标的最小和最大值, 这样就可以使每一帧有相同的坐标。显示出 来的时候就像是连续的动画一样。 有趣吧?例子:cartoon.m
第九章 与其他语言的编程接口 Matlab 是一种解释语言,所以速度就是一个 问题,所以它提供了与其他语言的接口。 Matlab可以和Fortran,C相互调用,从而 可以解决彼此编程中的问题。我们只讲C! 1 从C中调用Matlab ,可对mxARRAY ,mat 文件,mex 程序,与其工程进行操作。 前提:必须包含相应的头文件。这些头文 件都存放在/include 里面.
2 从Matlab中调用C。C 必须先转化为mex 文件(用mex .bat 或者cmex .batf 来转化). 同时,要嵌入头文件:“mex .h ”.还要注意 一定要有一个接口函数: mexFunction( int nlhs, mxArray *plhs[], int nrhs, const mxArray*prhs[] ) , 其输入参数不可改变。 例:见例子hello.c selecthello.c
第十章 功能齐全的各式工具箱 包括几十种不同的工具箱,与大家比较相关 的有信号处理工具箱,小波工具箱,数字信 号处理工具箱,控制系统工具箱,神经网络 工具箱,图像处理工具箱,符号数字工具箱等, 存放在..\toolbox下。让我们来看看。 关于工具箱内容本课不涉及。
综述 一个可视化的计算程序。包含命令控制,可 编程,有上百个预先定义好的命令和函数, 而且可以通过用户自定义来扩展。还包括强 有力的二维、三维及特殊图形的绘制工具。 还可以直接将结果生成文档,具有强大的仿 真工具,也可以和c、Fortran混合编程及处 理声音,制作动画等有趣的功能。此外,它 强大的工具箱也是各领域的专业人士必不可 少的工具。