




已阅读5页,还剩54页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MATLAB 课程学时安排 学时: 32学时 安排:讲课16学时,上机16学时 第一讲 绪论 初识MATLAB 例1-1 绘制正弦曲线和余弦曲线。 x=0:0.5:360*pi/180; plot(x,sin(x),x,cos(x); 例1-2 求方程 3x4+7x3 +9x2-23=0的全部根。 p=3,7,9,0,-23; %建立多项式系数向量 x=roots(p) %求根 例1-3 求积分 quad(x.*log(1+x),0,1) 例1-4 求解线性方程组。 a=2,-3,1;8,3,2;45,1,-9; b=4;2;17; x=inv(a)*b 一、MATLAB概述 (一)MATLAB语言的发展: MATLAB名字由MATrix和 LABoratory 两词的前三个字母 组合而成。那是20世纪七十年代,时任美国新墨西哥大学计 算机科学系主任的Cleve Moler出于减轻学生编程负担的动机 ,为学生设计了一组调用LINPACK和EISPACK矩阵软件工 具包库程序的的“通俗易用”的接口,此即用FORTRAN编写 的萌芽状态的MATLAB。 1984年由Little、Moler、Steve Bangert合作成立MathWorks公 司,并把MATLAB正式推向市场。从这时起,MATLAB的内 核采用C语言编写,而且除原有的数值计算能力外,还新增了 数据图视功能。 现今的matlab7.0拥有更丰富的数据类型和结构、更友善的面 向对象、更加快速精良的图形可视、更广博的数学和数据分析 资源、更多的应用开发工具。 自MathWorks公司1993年推出matlab4.0问世以来,matlab语 言就成为了最具吸引力、应用最为广泛的科学计算语言; 1997年仲春,matlab5.0版问世,紧接着是5.1、5.2,以及 1999年春的5.3版。 2001年和2002年mathworks公司又相继推出了强大的 matlab升级版本matlab6.0和matlab6.5 (二)MATLAB语言的特点: 1)语言简洁紧凑,使用方便灵活,库函 数极其丰富 MATLAB程序书写形式自由,利用起丰富的库函 数避开繁杂的子程序编程任务,压缩了一切不必要的 编程工作。由于库函数都由本领域的专家编写,用户 不必担心函数的可靠性。可以说,用MATLAB进行科 技开发是站在专家的肩膀上。 2)运算符丰富 由于MATLAB是用C语言编写的,MATLAB提供了和 C语言几乎一样多的运算符,灵活使用MATLAB的运 算符将使程序变得极为简短。 3)MATLAB既具有结构化的控制语句( 如for循环,while循环,break语句和if语 句),又有面向对象编程的特性。 4)程序限制不严格,程序设计自由度大 例如,在MATLAB里,用户无需对矩阵 预定义就可使用。 5)程序的可移植性很好,基本上不做修 改就可以在各种型号的计算机和操作系 统上运行。 6)MATLAB的图形功能强大。 在FORTRAN和C语言里,绘图都很不容 易,但在MATLAB里,数据的可视化非 常简单。MATLAB还具有较强的编辑图 形界面的能力。 7)功能强大的工具箱是MATLAB的另一特色。 MATLAB包含两个部分: 核心部分:有数百个核心内部函数 各种可选的工具箱 工具箱又分为两类:功能性工具箱 学科性工具箱 功能性工具箱主要用来扩充其符号计算功能、图示建模仿真功 能、文字处理功能以及与硬件实时交互功能,功能性工具箱用 于多种学科。 学科性工具箱是专业性比较强的,面向专门的学科领域。如 control toolbox, signl proceessing toolbox, commumnication toolbox等。这些工具箱都是由该领域内学术水平很高的专家 编写的,所以用户无需编写自己学科范围内的基础程序,而可 直接进行高,精,尖的研究。 符号数学工具箱 SIMULINK仿真工具箱 控制系统工具箱 信号处理工具箱 图像处理工具箱 通讯工具箱 系统辨识工具箱 小波分析工具箱 神经元网络工具箱 金融工具箱 8)源程序的开放性 开放性也许是MATLAB最受人们欢迎的 特点。 除内部函数以外,所有MATLAB的核心 文件和工具箱文件都是可读可改的源文 件,用户可通过对源文件的修改以及加 入自己的文件构成新的工具箱。 9)MATLAB的缺点: 和其他高级程序相比,程序的执行速 度较慢。由于MATLAB的程序不用编译 等预处理,也不生成可执行文件,程序 为解释执行,所以速度较慢。 (三)MATLAB语言的功能: 强大的数值(矩阵)运算功能 广泛的符号运算功能 计算结果的可视化功能 可靠的容错功能 应用灵活的兼容与接口功能 信息量丰富的联机检索功能 1.矩阵运算功能 MATLAB提供了丰富的矩阵运算处理功能,是 基于矩阵运算的处理工具。 变量 矩阵,运算 矩阵的运算 例如 C = A + B ,A,B,C都是矩阵,是矩阵的加 运算 即使一个常数,Y=5,MATLAB也看做是一个 11的矩阵 2.符号运算功能 符号运算即用字符串进行数学分析 允许变量不赋值而参与运算 用于解代数方程、微积分、复合导数、 积分、二重积分、有理函数、微分方程 、泰乐级数展开、寻优等等,可求得解 析符号解 3.丰富的绘图功能与计算结果的可视化 具有高层绘图功能两维、三维 绘图 具有底层绘图功能句柄绘图 4.图形化程序编制功能 动态系统进行建模、仿真和分析的 软件包 用结构图编程,而不用程序编程 只需拖几个方块、连几条线,即可 实现编程功能 5.MATLAB的容错功能 非法操作时,给出提示,并不影响其 操作 1/0 Warning: Divide by zero ans = Inf 6.MATLAB的兼容功能 可与C语言、FORTURE语言跨平台兼容 用函数CMEX、FMEX实现 7.强大的联机检索帮助功能 可随时检索matlab函数 可随时查询matlab函数的使用方法 (四)MATLAB语言系统的组成 MTALAB系统由五个主要部分组成 (1)MATALB语言体系 高层次的矩阵数组语言 具有条件控制、函数调用、数据结构、输入输出、面 向对象等程序语言特性。 (2)MATLAB工作环境 包括管理工作空间中的变量数据输入输出的方式和方法, 以及开发、调试、管理M文件的各种工具。 (3)图形句相系统 这是MATLAB图形系统的基础,包括 完成2D和3D数据图示、图像处理、动画生成、图形显示等 功能的高层MATLAB命令,以及开发GUI应用程序的各种工 具。 (4)MATLAB数学函数库 这是对MATLAB使 用的各种数学算法的总称包括各种初等函数 的算法,也包括矩阵运算、矩阵分析等高层次 数学算法。 (5)MATLAB应用程序接口(API) 这是MATLAB为用户提供 的一个函数库,使得用户能够在MATLAB环境中使用c程序或 FORTRAN程序,包括从MATLAB中调用于程序(动态链接), 读写MAT文件的功能。 MATLAB是一个集数值计算、图形管理、程序开发 为一体的环境。 加上MATLAB更强的功能扩展能力, 与它的主系统一起,构成一个功能更加强大的系统 (五)MATLAB语言的应用 在欧美大学里,诸如应用代数、数理统计、自动控制、数字信 号处理、模拟与数字通信、时间序列分析、动态系统仿真等课 程的教科书都把MATLAB作为内容。这几乎成了九十年代教科 书与旧版书籍的区别性标志。MATLAB成为攻读学位的大学生 、硕士生、博士生必须掌握的基本工具。 在国际学术界,MATLAB已经被确认为准确、可靠的科学计算 标准软件。在许多国际一流学术刊物上,(尤其是信息科学刊物 ),都可以看到MATLAB的应用。 在设计研究单位和工业部门,MATLAB被认作进行高效研究、 开发的首选软件工具。如美国National Instruments公司信号测量 、分析软件LabVIEW,Cadence公司信号和通信分析设计软件 SPW等,或者直接建筑在MATLAB之上,或者以MATLAB为主 要支撑。又如HP公司的VXI硬件,TM公司的DSP等等接受 MATLAB的支持。 (六)matlab界面介绍 Matlab 常用的交互界面 命令窗口(command window) 历史命令窗口(command history) 当前目录窗口(current directory) 工作空间浏览器(workspace browser) 开始按钮(start) 1.命令窗口(command window) Matlab的主要操作界面,大部分操作命 令和结果在此进行 菜单栏Matlab7.0版比6.5版增加了debug( 编译m文件)和desktop(界面置放模式 ) 减少了view 命令提示符 显示方式 字体、大小、颜色设置 files/preferences 命令窗口常用控制指令 也可以利用菜单命令实现 例如: dir d:MyProg %显示d:MyP rog目录下的文件 清单 edit d:MyProgexm013_9.m %打开编辑器编辑exm013_9.m which exm013_9.m %指出exm013_9.m所在的目录 指 令含 义指 令含 义 cd设置当前工作目录exit/quit退出MATLAB clf清除图形窗open打开文件 clc清除指令窗中显示的内容more使显示内容分页显示 clear清除内存变量type显示M文件的内容 dir列出指定目录的文件清单which指出文件所在目录 edit打开M文件编辑器diary日志文件命令 2. 历史命令窗口(command history) 记录用户在Matlab命令窗口中输入的所 有的命令 包括每次启动Matlab的时间和每次启动 所有的命令行 对历史命令的编辑(复制/运行/创建m文 件/快捷方式/profile code) 利用命令来创建“日志”来记录历史命令 diary 例: diary first_diary %输入复数 z1=10+5i; z2=5+9i; z3=6; a=z1,z2,z3 a = 10.0000 + 5.0000i 5.0000 + 9.0000i 6.0000 diary off Work 目录下/所有文件中打开first diary (默认路径,可修改) 3. 当前目录窗口(current directory) 当前目录浏览器管理Matlab中大量的函 数和数据库 包括菜单栏、当前目录设计区,工具菜 单和文件详细菜单 对文件详细菜单区域中文件可以方便地 进行编辑或运行 如何设置当前目录呢? 启动Matlab时,默认路径为 MATLAB701work cd c:my_dir 4.工作空间浏览器(workspace browser ) 保存内存变量,从而可以方便地对其进 行查阅和编辑等等 (双击浏览数组编辑 器或右键其他编辑) 可在命令窗口利用操作命令在查阅和删 除内存变量 内存变量的操作命令 1. 内存变量的查阅、删除 1)who,whos指令查询内存变量 who指令获取当前所有内存变量的名称列表。 whos指令获取详细的内存变量列表,包含变量类型 、大小等信息。 2)clear 指令删除内存变量 clear指令清除所有内存变量 clear v1 v2清除内存变量v1 v2,被删变量间用空格 分隔 3)打开工作空间浏览器( WorkSpace ),可以看到所有 内存变量的详细说明,和whos指令效果相同。并且 可以通过右键点击变量引出现场菜单,对该变量进 行编辑、删除、重命名、保存、绘图等操作。 数据文件的存取 1) 利用指令save、load实现数据文件(*.mat)的存取。 save/load filename%保存/打开文件 filename.mat save/load filename v1 v2%保存/打开变量v1 v2 2) 打开工作空间浏览器 (WorkSpace),可以在右键现 场菜单中选择Save Workspace as保存所有内存变量 ,或Save Selection as保存指定变量。 例 a=1 2 3;4 5 6;7 8 9;%输入一个3*3数组a b=This is a test;%输入一个字符串数组 c=3; d=0.2; who Your variables are: a b c d whos Name Size Bytes Class a 3x3 72 double array b 1x14 28 char array c 1x1 8 double array d 1x1 8 double array Grand total is 25 elements using 116 bytes clear c save filename a b clear load filename who Your variables are: a b 数组编辑器 MATLAB提供专门的数组编辑器来编辑数组 (双击或右键) 用户可以在数组编辑器中直接编辑该变量 5.开始按钮(start) MATLAB 主窗口左下角有一个Start按钮 ,单击该按钮会弹出一个菜单 选择其中的命令可以执行MATLAB产品 的各种工具,并且可以查阅MATLAB包 含的各种资源。 Windows 创建目录,可以自动添加 Files/ set path 利用path命令来查看matlab的路径信息 利用path 指令设置路径: path(path,c:my_dir) 把c:my_dir设置在搜索路径的尾端 path(c:my_dir,path) 把c:my_dir设置在搜索路径的首端 (七)MATLAB7.0的帮助系统 纯文本帮助 在MATLAB中,所有执行命令或者函 数的M源文件都有详细的注释,用纯文 本的形式来表示的,一般包括函数的条 用格式或输入参数、输出结果的含义等 等 7.2联机查询功能 两种方式: helpwin指令 help帮助命令 7.1 基本帮助指令 在工作窗口输入: helpwin 显示帮助窗口; helpdesk 显示html格式的帮助内容 demo 显示Matlab Demo Window的窗口,选 择感兴趣的内容进行演示 2.lookfor指令 help需要事先知道函数准确的名字,如果不能确定 时,可用lookfor +完整或不完整的关键词,进行搜索 如: lookfor fft ;检索出各种与傅立叶有关的函数 help帮助命令: 1. Help 指令+待查询的函数 命令窗口输入:help exp 得到指数函数命令的详 细信息 help sum 加法函数 notebook Notebook 的功能在于:使用户能在Word 环境中“随心所欲地享用”MATLAB的浩 瀚科技资源,为用户营造融文字处理、 科学计算、工程设计于一体的完美工作 环境。 从MATALB中启动 在命令窗口中输入notebook, 如果没有 启动则需要安装,在在命令窗口中输 入 notebook(-setup) 二、MATLAB的数值运算功能 (一) 基本概念 1. 变 量 变量命名规则: 变量名、函数名由英文字母、数字、下划线构成。 变量名、函数名区分字母大小写。A1、a1代表不同含义。 变量名第一个字符必须是英文字母。 变量名不得包含空格及、,等标点符号,但可以包含 下划线。 例如:m_array001合法,1_a d,minute不合法。 MATLAB命令通常是用小写字母书写。 MATLAB中变量使用之前,不需要指定变量的数 据类型,也不必事先声明变量。 2.MATLAB默认的预定义变量 预定义变量在MATLAB启动时由系统自动 生成。用户在编写指令和程序时,应尽量避免 使用下列预定义变量,以免混淆。 预定义变量含 义预定义变量含 义 ans 计算结果的缺省变量名NaN 或 nan 不定值,如 0/0 eps 最小的机器数nargin 函数输入参数数目 Inf 或 inf 无穷大,如 1/0nargout 函数输出参数数目 i 或 j 虚单元 i=j=(-1)1/2realmax 最大正实数 pi 圆周率 realmin 最小正实数 3. 运算符和表达式 MATLAB表达式的规则与一般手写算式基本相同。 a) 表达式由变量名、运算符和函数名组成。 b) 表达式按优先级自左向右运算,括号可改变优先级顺序。 c) 优先级顺序由高到底为:指数运算、乘除运算、加减运算 。 d) 表达式中赋值符为“=”。 可直接在命令窗内输入表达式进行计算 例求12+2 (7-4)32的运算结果。 1) 键盘在指令窗输入下面一行指令,然后 按下Enter键。 (12+2*(7-4)/32 2) 等待指令执行完毕,MATLAB指令窗显 示运算结果。 ans= (默认的变量名 记录计算结果) 2 4. 复数和复数矩阵 MATLAB可以直接输入复数 a+bi 。MATLAB的矩阵元素可 以是复数或复数表达式。 例1-5常用复数转换指令 real、imag、abs、angle z1=3+4i%输入一个复数z1 z1 = 3.0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 44651.3-2025知识管理实施指南第3部分:电力
- GB/T 46071-2025数据安全技术数据安全和个人信息保护社会责任指南
- 化工化学安全知识培训课件
- 养护员安全知识培训课件
- 别夔州官吏赏析课件
- 初识财务报表课件
- 初级中学安全培训课件
- 内部食堂厨房安全培训课件
- 初中教师安全培训教学课件
- 创新安全培训考核课件
- 护理时政面试题目及答案
- 2025年中国搬家公司行业市场运行动态及投资发展潜力分析报告
- 围手术期患者管理
- 光存储技术革新-洞察及研究
- 浙江科技大学《高等数学Ⅱ》2025-2026学年期末试卷(A卷)
- 13 唐诗五首《钱塘湖春行》课件
- (高清版)DB11∕T 2456-2025 消防安全管理人员能力评价规范
- 胎心监护及并发症处理
- 锁骨骨折术后护理
- 眼科常见疾病及其用药
- 脑疝患者的急救及护理
评论
0/150
提交评论