
第1-2章节MATLAB概述幻灯片.ppt
52页MATLAB语言程序设计,第一章 概述 第二章 基本操作 第三章 图形功能 第四章 程序设计 第五章 数值计算功能 第六章 符号运算 第七章 工具箱使用与应用,,第1章 MATLAB概述,1. MATLAB产生的历史背景 2.MATLAB的功能与特点 3.MATLAB的启动与退出 4. MATLAB桌面系统 5.MATLAB的联机帮助 6. 搜索路径,,1.MATLAB产生的历史背景,MATLAB的首创者是在数值线性代数领域颇有影响的Cleve Moler博士,他在讲授线性代数课程时,深感高级语言编程的诸多不便之处,于是萌生了开发新的软件的念头,MATLAB(MATrix LABQratory,矩阵实验室)就基于这样的背景产生了,该软件采用了当时流行的EISPACK(基于特征值计算的软件包)和LINPACK(线性代数软件包)中的子程序,利用FORTRAN语言编写而成,现今的MATLAB已全部采用C语言改写,并使用户界面变得越来越好由Moler博士等一批数学家和软件专家组建了MathWorks软件公司,专门从事MATLAB的扩展与改进自1982年推出第一个版本以来, 1992年推出了具有划时代意义的MATLAB V4.0, 1993年推出了可用于IBM PC及其兼容机上的微机版、特别是与Windows配合使用,使MATLAB的应用得到了前所未有的发展。
1994年推出了成熟的4.2版本,并得到了广泛的重视和应用1)功能 数值计算 (矩阵运算、插值与拟合、积分与微分、线性方程组、非线性方程组、特征值、常微分方程、概率统计、优化设计) 符号运算 (复合函数运算、符号矩阵、符号微积分、符号代数方程式、符号函数) 图形处理 (二维图、三维图、四维图) 程序设计 工具箱,功能与特点,,工具箱分为功能性工具箱和学科性工具箱 功能性工具箱主要是扩充其符号运算功能、图示建模仿真功能; 文字处理以及硬件实时交互功能; 学科性工具箱用于多种学科,如神经网络、小波分析、概率统计、计算机仿真、偏微分方程、模型预测2)特点 友好的工作平台和编程环境 Windows标准界面,人机交互性强,操作简单 简单易用的程序设计语言 MATLAB是基于C语言开发的,语法特征和C 相似 强大的科学计算及数据处理能力,(2) 特点,应用广泛的模块集和工具箱功能强劲的工具箱 MATLAB 内容包括两部分--核心部分和各种可选工具箱核心部分有数百个内部函数,工具箱分为功能性工具箱和学科性工具箱 实用的程序接口和发布平台 利用MATLAB编译器和C/C++数学库和图形库,将MATLAB程序自动转化为独立于MATLAB运行的C/C++代码;另外MATLAB网页服务程序还容许在WEB应用中使用MATLAB程序,拥有600多个工程中要用到的数学运算函数,函数中所使用的算法都是科研和工程计算中的最新研究成果,并经过各种优化及容错处理。
出色的图形处理功能 不仅提供二维曲线和三维曲面的绘制和处理,而且提供一些软件没有的功能,例如图形的光照处理、色度处理及四维数据的表现,另外还有图形动画功能2) 特点,模块化的设计和系统级的仿真 源程序的开放性 缺点:速度较慢 (解释性语言),MATLAB6.0的新特点,开发环境 集各种对MATLAB文件、数据变量进行操作的工具为一体的MATLAB桌面系统 数据处理 MATLAB6.0的矩阵运算是基于LAPACK--一种大型的线性代数FORTRAN函数库的,LAPACK扩展了MATLAB的计算能力 程序及数据结构 引入函数句柄的数据类型 增加了continue语句,以配合for 或while 循环的操作 提供了许多程序设计的辅助函数,取消了对M文件的编辑行长度的限制 提供了在执行M文件之前的句法分析的方法MATLAB6.0的新特点,图形处理 有一个新的对图形属性进行设置的图形属性编辑界面;对图形的输出作了改进 用户图形界面 MATLAB6.0的图形用户(GUI)的设计更灵活 应用程序接口 MATLAB60 增加了与JAVA的接口,并为实现两个的数据交换提供了相应的函数库MATLAB的应用领域,初衷是为了方便矩阵运算或者说数值运算,随着MATLAB软件的不断升级, MATLAB已将工具箱延伸到了科学研究和工程应用的许多领域。
3. 启动与退出,启动 双击系统桌面的MATLAB图标启动 开始菜单的选项中选择MATLAB快捷方式启动 双击MATLAB的安装路径的bin子中的Matlab可执行文件 退出 quit命令,,4. MATLAB桌面平台,桌面平台 (1) Matlab主窗口 (2)命令窗口 (Command Windows) (3)历史窗口 (Command History) (4)当前目录窗口 (Current Directory) (5)发行说明书窗口(Launch Pad) (6)工作间管理窗口,联机帮助系统 (1)方法 “ ?”按钮 “help” 下拉菜单的前四项中的任何一项 在命令窗口中执行helpwin、helpdesk或doc (2)命令窗口查询系列 Help系列 help:将显示当前的帮助系统中所包含的所有项目,即搜索路径中的所有目录名称 help 函数类名 例如:help matfun help 函数名 例如:help inv,Lookfor函数: 当知道函数名而不知其用法时,Help命令帮助用户准确地了解函数的用法,当查找不知其确切名称的函数名时,可以用Lookfor命令查询根据用户提供的关键字搜索到的函数。
其他的帮助命令 exists: 变量检验函数 what:目录中文件列表 who:内存变量列表 whos:内存变量详细信息 which:确定文件位置,联机查询 (1) 基本窗口介绍 (2) 演示界面 常用的命令和技巧 (1)若干个通用操作命令 Cd 改变当目录 Clear 清除内存中的所有变量和函数 Clc 擦除matlab工作窗口中所有显示的内容 Clf 擦除matlab当前窗口中的图形 Dir 列出指定目录下的文件和子目录清单 Disp 在运行中显示变量或文字内容 Echo 制运行文字指令是否显示 (2)命令行中的键盘按键,搜索路径 (1)主要是为系统设置M文件的路径 Path 显示当前的MATLAB搜索路径 Path(‘目录路径描述’,path ) 将指定路径加到原有搜索路径之前;Path (path,‘目录路径描述’, ) 将指定路径加到原有搜索路径之后 如:Path(‘c:\user’,path ) 将指定c:\user加到原有搜索路径之前 (2)系统提供了管理搜索路径的路径管理器 改变系统默认搜索路径:“file”→”set path” →在左边目录区中 通过拖拉改变搜索路径→按“refresh可使修改的路径本次有效”或按“save setings”可使修改结果以后生效。
加目录到搜索路径范围:“file”→”set path” →“browse ”按钮选择文件夹→”add to path” →”refresh” →” save setings”,第2章基本操作命令,一、基本知识 二、向量运算 三、 矩阵运算 四、数组运算(元素对元素的算术运算) 五、关系运算 六、逻辑运算 七、数学函数,一、基本知识,1 .MATLAB的数据类型 数字 字符串 矩阵(数组) 单元型数据及结构型数据:以任意形式的数组为元素的多维数组 2. 变量 用户自定义变量,以字母开始,长度不超过31个字符 注意: 变量名区分大小写,变量也存在作用域 3. 常量,固定常量 i,j :虚数单位 ans: 系统默认变量名. eps: 容许误差 pi: 代表π Inf: 正无穷大 Nan: 表示不定值,它由Inf/Inf或0/0 运算产生,数字变量 数字变量的运算 简单的数字运算,直接在命令窗口下以平常的习惯的形式输入 (2)数字的输入输出格式format format short 小数点后5位(包括小数位) format long 小数点后15位(包括小数位) format + format compat (紧奏格式),,4.MATLAB语句和变量 变量=表达式[;] 表达式[;] (1)作用:类似于高级程序设计语言中的赋值语句 (2) 结果:为矩阵,矩阵用变量名来标识或 ans (3) 注意:[;]选中时,命令的执行结果不显示,5.获取工作空间信息 who 显示工作空间中何存的变量名. whos 显示工作空间中各变量的属性(大小、元素个数,所占用的字节数;元素精度 ) 6.退出和保存工作空间 退出: quit或exit 保存: save [] 文件名扩展名为 “mat” 装入: load [] 清除: clear 清除所有的变量 clear 清除指定的变量,二、向量操作,(一)、向量产生 1.直接输入向量 向量元素用“[]”括起来,元素之间用空格、逗号或分号分隔,空格、逗号生成行向量,分号分隔生成列向量。
2 用冒号表达式生成向量 格式:.[变量=]n:s:m 功能:产生从n到m,步长为s的一系列值 举例1:x=1:1:5 产生1、2、3、4、5五个元素的矩阵 举例2:z=-pi:pi/2:pi 3.线性等分向量的生成 用linspace 函数和logspace函数产生,(1) 格式:linspace(n,m,k) 产生一个从n到m等间隔的向量,其点数为k 如:linspace(1,100,3)产生一个从1到100等间隔的向量,其点数为3 (2)y=logspace(n,m,k) 生成K维对数等分向量,使得y(1)=10^n, y(k)=10^m 如:logspace(0,5,6) 产生6个元素分别是1 10 100 1000 10000 100000,(二)向量的基本运算 加法与减法 a=a-1 a中每个元素均减1 2. 数乘 a=2*a a中每个元素均乘2 (三)点积 dot(a,b) 返回a和b的数量点积,要求a和b必须同维当a和b都为列向量时, dot(a,b)同于a’*b dot(a,b,dim) 返回a和b在维数为dim的点积 Sum(a.*b),,叉积:在数学上表示两相交向量的交点得垂直于两向量所在平面的向量。
cross(a,b) 返回向量a和b的叉积向量即c=a*b其中a和b必须为三维向量 混合积 dot(a,cross(b,c)),三、矩阵及其运算,(一)矩阵的输入 1.实数矩阵 方法1:直接输入矩阵 约定: 用 [ ]将所有的元素括起来 同行元素之间空格或逗号隔开 不同行之间分号隔开 举例1: 如输入: a=[1 2 3;4 5 6] 得到: a = 1 2 3 4 5 6 举例2: 大矩阵可以分行输入,此时回车符代替分号 a=[1 2 3 4 5 6],,方法2: 内部语句或函数产生 举例: ones(2,5), 得到2*5 矩阵,各元素为1 举例: zeros(4,3),得到4*3矩阵,各元素均为零;e=rnd(2,3) 得到2*3随机矩阵 方法3: 利用M文件产生矩阵 for i=1 :3 for j=1 :2 f(i,j)=i+j end end f; 运行该程序后就会自动产生3*2矩阵,方法3:在M文件输入矩阵的行列具体数值,存盘后在命令窗口中输入M文件的文件名,运行该文件就能自动生成矩阵 如下述例子就是在M文件(ls1)存放的内容 exm=[1 2 3 -1 -2 -3 3 4 5] 在命令窗口中输入ls1 方法4: 利用外部文件装入到指定的矩阵 当数据量较多时.可借助于其它编辑的软件来实现 如:通过windows附件下的记事本进行编辑存盘后,使用命令:load [盘符][路径] 如:load c:\lsq\lsq.txt 产生一个矩阵lsq,它的行列数由lsq.txt决定,方法5: 导入Excel数据文件中的数据。












