MATLAB语言概述.ppt_第1页
MATLAB语言概述.ppt_第2页
MATLAB语言概述.ppt_第3页
MATLAB语言概述.ppt_第4页
MATLAB语言概述.ppt_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

信号处理软件,主讲教师:曾祥烨 信息工程学院 通信工程系,课程介绍,主要内容:MATLAB语言及其应用 目标:了解MATLAB,能够熟练掌握数学(矩阵)运算、符号运算,简单编程,简单的数据处理及基本图形绘制。 教材:陈怀琛、吴大正、高西全MATLAB及在电子信息课程中的应用,参考教材,张志涌MATLAB教程基于6.x版本 张志涌精通MATLAB6.5版北航 薛定宇 MATLAB大观园,课程安排,总学时数:32学时 学时安排:课堂教学20学时,上机实验10学时,考试2学时 考核要求:不得缺勤,实验报告齐备 考核方式:闭卷考试,课程内容,第一讲 MATLAB语言概述 第二讲 数值数组及其运算 第三讲 数据和函数的可视化 第四讲 符号计算 第五讲 M文件与函数 第六讲 其他工具箱简介,第一讲 MATLAB语言概述,1.1 MATLAB语言的发展 1.2 MATLAB语言的特点 1.3 MATLAB的工作环境 1.4 MATLAB基础与入门,1.1 MATLAB语言的发展,20世纪七十年代后期:美国新墨西哥大学计算机科学系主任的Cleve Moler教授出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件库的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。,1.1 MATLAB语言的发展,1984年,Little、Moler、Steve Bangert合作,成立了MathWorks公司,并把MATLAB正式推向市场。 内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。,1.1 MATLAB语言的发展,MathWorks公司于1993年推出MATLAB4.0版本,从此告别DOS版。 增加了SIMULINK、符号计算工具包、Notebook以及与外部进行直接数据交换的组件,1.1 MATLAB语言的发展,1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版 后来的6.0、6.1版对操作界面进行了较大的改进 2002年初夏推6.5版,采用了JIT加速器,使得运算速度大大提高,1.1 MATLAB语言的发展,MATLAB是一种科学计算软件,属于数学类科技应用软件 MATLAB在数值计算方面独占鳌头 Mathematica和Maple用于符号计算 Mathcad提供计算、图形、文字处理的统一环境,1.1 MATLAB语言的发展,20世纪九十年代的时候,MATLAB已经成为国际控制界公认的标准计算软件 其他软件也在不断改进,但是就应用广泛和影响力而言,都不能与MATLAB匹敌 MATLAB已成为大学必备的工具、国际学术界标准的科学计算软件,1.2 MATLAB语言的特点,MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成,矩阵运算 是一套高性能的数值计算和可视化数学软件,“巨人肩上的工具 ” 优点:简洁、入门容易 难点:函数多。多记少查,1.2.1 起点高,每个变量代表一个数组(阵列) 每个元素都看作复数 所有运算都对复数数组有效 MATLAB自问世起,就以数值计算称雄 基本处理单位是复数数组 程序高度“向量化”,且易写易读,1.2.2 人机界面适合科技人员,语言规则与笔算式相似 数组的维数和大小不需提前定义 解释方式工作,无需编译 符合科技人员的思维方式和书写习惯 编程序就像在演算纸上列公式求解问题 演算纸式科学算法语言,1.2.3 强大而简易的作图功能,根据输入数据自动确定坐标绘图 可使用多种坐标系 绘制三维曲线和曲面 可设置不同颜色、线型和视角 一条命令,数据可视化,1.2.4 智能化程度高,绘图时自动选择最佳坐标 数值积分时,自动选择步长 自动检测和显示程序错误,易于调试,1.2.5 功能丰富,可扩展性强,MATLAB软件包括基本部分和专业扩展两部分 基本部分可以满足理工科的计算需求 扩展部分(工具箱)是各专业的程序集 核心内容是基本部分,1.3 MATLAB的工作环境,从6.1版开始,MATLAB的工作环境发生了质的飞跃。 引入了大量的交互工作界面 通用操作界面、工具包专用界面、帮助界面、演示界面等 它们被链接在MATLAB操作桌面中,1.3.1 Desktop操作桌面的启动,方法一 双击桌面上的或matlab下快捷方式图标 方法二 双击matlabbinwin32中的matlab.exe 当前工作目录不同,推荐方法一,1.3.2 通用操作界面简介,指令窗(Command Window) 进行MATLAB操作的最主要的窗口 历史指令窗(Command History) 记录已经运行过的指令、函数、表达式,1.3.2 通用操作界面简介,当前目录浏览器(Current Directory Brower) 设置、浏览当前目录 工作空间浏览器(Workspace Browser) 观察、编辑工作空间中的变量,1.3.2 通用操作界面简介,内存数组编辑器(Array Editor) 不随Desktop启动,对工作空间浏览器中的变量进行操作才启动 交互界面分类目录窗(Lauch Pad) 树状结构分类目录,1.3.2 通用操作界面简介,M文件编辑/调试器(Editor/Debugger) 不随Desktop启动,新建文件才启动 帮助导航/浏览器(Help Navigator/Brower) 超文本在线帮助,独立界面,不随Desktop启动,1.3.3 其他窗口简介,图形窗口 执行绘图命令自动产生图形窗 显示、修改、保存图形 演示窗口 键入Demo,出现演示窗 演示MATLAB各部分功能,1.4 MATLAB基础与入门,1.4.1 指令窗运行入门 1.4.2 指令窗操作要旨 1.4.3 当前目录和搜索路径 1.4.4 数据文件的存取 1.4.5 M脚本编写初步 1.4.6 MATLAB帮助方式概述,1.4.1 指令窗运行入门,学习MATLAB最基本的就是掌握指令窗的操作 这一小节通过一些算例让大家对MATLAB的使用方法有一个直观感受,1.4.1.1 指令窗简介,MATLAB在版本更新时,指令窗的外貌和操作方式变化最小 6.x版本增加了指令行提示符“” 并且关键词、字符串等用不同颜色表示 可以独立窗口也可以嵌回Desktop,1.4.1.2 最简单的计算器使用法,求122(74)32的算术运算结果 (12+2*(7-4)/32 ans是answer的缩写,它是MATLAB的一个默认变量,1.4.1.2 最简单的计算器使用法,简单矩阵 的输入步骤 A = 1,2,3; 4,5,6; 7,8,9 各元素用空格或逗号“,”分隔,行用分号“;”,整个矩阵放在方括号“”里 注意:标点符号都是英文的,1.4.1.2 最简单的计算器使用法,矩阵A被保存在工作空间中,直到clear指令清除或重新赋值 MATLAB对字母大小写是敏感的 变量A和a不是同一个变量,1.4.1.2 最简单的计算器使用法,矩阵的分行输入 A=1,2,3 4,5,6 7,8,9 用回车来分隔矩阵的行,符合视觉习惯,1.4.1.2 最简单的计算器使用法,指令的续行输入 S=1-1/2+1/3-1/4+1/5-1/6+1/7 . -1/8 3个或3个以上的连续黑点表示“续行”,1.4.1.3 数值、变量和表达式,1.数值的记述 MATLAB的数值采用十进制表示,可以带小数点或负号 6 -4 0.082 5.384 2.4e-5 4.53e23,1.4.1.3 数值、变量和表达式,2.变量命名规则 变量名、函数名对字母大小写敏感 变量名的第一个字符必须是英文字母,由字母、数字和下划线组成,最多可包含31个字符 变量名中不能包含空格和标点符号,1.4.1.3 数值、变量和表达式,3.MATLAB默认的预定义变量 预定义变量随MATLAB启动而产生 建议:编程时,尽量避免对预定义变量名重新赋值,1.4.1.3 数值、变量和表达式,预定义变量 ans 缺省计算结果 pi 圆周率 i和j 虚单元 eps 机器零阈值 Inf和inf 无穷大,1/0 NaN和nan Not a Number,0/0,1.4.1.3 数值、变量和表达式,4.运算符和表达式 数学表达式与MATLAB表达式的比较 a+b a+b a-b a-b ab a*b ab a/b或ab ab ab,1.4.1.3 数值、变量和表达式,注意:所有运算定义在复数域上。对于求方根问题,只返回第一象限的解 “/”和“”分别代表“左除”和“右除” 对于标量没有区别 对于矩阵是完全不同的运算 MATLAB的表达式与手写算式非常接近,1.4.1.3 数值、变量和表达式,5.复数和复数矩阵 MATLAB把复数作为一个整体处理 复数直角坐标和极坐标转换指令 real(z) 实部 imag(z) 虚部 abs(z) 模 angle(z) 相角(弧度),1.4.1.3 数值、变量和表达式,复数 表达, 并计算 经典教科书的直角坐标表示法 z1= 3 + 4i 建议不使用,它不适用于数值矩阵输入,1.4.1.3 数值、变量和表达式,用运算符表示 z2 = 1 + 2 * i %运算符构成的直角坐标表示法 z3=2*exp(i*pi/6)%运算符构成的极坐标表示法 z=z1*z2/z3 复数矩阵的生成及运算 A=1,3;2,4-5,8;6,9*i B=1+5i,2+6i;3+8*i,4+9*i C=A*B,1.4.1.3 数值、变量和表达式,复数矩阵C的实部、虚部、模和相角 C_real=real(C) C_imag=imag(C) C_magnitude=abs(C) C_phase=angle(C)*180/pi %以度为单位计算相角 函数的输入量是数组时,函数对数组元素逐个发生作用。编程更加简便,1.4.1.3 数值、变量和表达式,用MATLAB计算 能得到-2吗? 直接计算得到第一象限的根 a=-8; r=a(1/3),1.4.1.3 数值、变量和表达式,全部方根计算如下 m=0,1,2; %因为有三个方根 R=abs(a)(1/3); %模开三次方 Theta=(angle(a)+2*pi*m)/3;%三个相角 rrr=R*exp(i*Theta),1.4.1.3 数值、变量和表达式,图形表示 t=0:pi/20:2*pi;x=R*sin(t);y=R*cos(t); plot(x,y,b:),grid hold on plot(rrr(1),.,MarkerSize,30,Color,r) plot(rrr(2,3),o,MarkerSize,15,Color,b) axis(-3,3,-3,3),axis square hold off,1.4.1.4 计算结果的图形表示,计算结果可视化是MATLAB的主要组成部分 MATLAB图形指令的特点: 自然、简洁、灵活、易扩展,1.4.1.4 计算结果的图形表示,画出衰减振荡曲线 及包络 线 。t的取值范围是0,4 t=0:pi/50:4*pi; %定义自变量取值数组 y0=exp(-t/3);%计算与自变量相应的y0数组 y=exp(-t/3).*sin(3*t);%计算与自变量相应的y数组 plot(t,y,-r,t,y0,:b,t,-y0,:b) %用不同颜色、线型绘制曲线 Grid %在“坐标纸”上画小方格,1.4.1.4 计算结果的图形表示,第三条指令中的“.*”表示乘法是在两个数组相同位置上的元素之间进行的。称为“数组乘”(元素群运算) 这种运算使程序简单明了,避免了循环,运行速度也加快,1.4.1.4 计算结果的图形表示,画出 所表示的三维曲面。 x,y的取值范围是-8,8 第五、六条指令中的“.”数组幂、“./”数组除,也是对数组元素逐个进行的。,1.4.1.4 计算结果的图形表示,clear;x=-8:0.5:8; y=x; X=ones(size(y)*x; Y=y*ones(size(x); R=sqrt(X.2+Y.2)+eps; Z=sin(R)./R; mesh(X,Y,Z); colormap(hot) xlabel(x),ylabel(y),zlabel(z),1.4.2 指令窗操作要旨,在直观感受的基础上对控制指令窗的指令和操作进行系统的归纳 更全面的了解、更方便的使用MATLAB,1.4.2.1 指令窗显示方式的操作,1.缺省显示方式 6.x版用不同颜色表示不同内容 关键词蓝色 字符串赭红色 其他黑色 数值计算结果以“短”格式显示 format short(存储和运算用双精度),1.4.2.1 指令窗显示方式的操作,2.显示方式的设置 可以对指令窗的字体风格、大小、颜色和数值计算结果显示格式进行设置 【File:Preferences】引出参数设置对话框。立即生效且永久保留,1.4.2.2 指令行中的标点符号,标点在MATLAB中的地位极其重要 标点一定要在英文状态下输入 , 要显示结果的指令结尾;输入量 分隔;数组元素分隔 ; 不显示结果指令的结尾;数组行分隔 . 小数点 : 生成一维数组;作下标表示该维全部,1.4.2.2 指令行中的标点符号,% 注释行标志 字符串标记 () 数组援引;函数输入量列表 输入数组;函数输出量列表 元胞数组标记符 _ 变量名连字符 续行标志 函数句柄;用户对象类目录,1.4.2.3 指令窗的常用控制指令,cd 设置当前工作目录 dir 列文件清单 edit 打开M文件编辑器 mkdir 创建目录 more 分页显示 type 显示M文件内容 与Dos命令基本相同,1.4.2.3 指令窗的常用控制指令,clf 清除图形窗 clc 清除指令窗的显示内容 clear 清除工作空间 exit/quit 推出MATLAB which 找出文件所在目录,1.4.2.4 指令窗中指令行的编辑, 调回已输入过的指令行(向前) 调回已输入过的指令行(向后) 左移光标 右移光标 Esc 清除当前行的全部内容 Home、End、Delete、Backspace,1.4.3 当前目录和搜索路径,在指令窗中运行一条指令时,MATLAB怎样从庞大的函数库中找到所需的函数或数据呢? 怎样保证自己创建的文件能被MATLAB识别并调用呢?,1.4.3.1 MATLAB的搜索路径,MATLAB的所有文件都存放在一组目录上 把这些目录按优先顺序排列起来 MATLAB的基本搜索过程 检查是否内存变量 是否内建函数 是否当前目录的M文件 搜索路径上其他目录的M文件,1.4.3.2 用户目录和当前目录,1.建立用户目录 建立自己的工作目录,存放创建的文件 2.将用户目录设置成当前目录 当前目录设置区 指令设置(cd c:mydir) 建议按上述方法设置当前目录 而且每次重新启动MATLAB都应重新设置,1.4.4 数据文件的存取,数据文件存取指令save,load save FileName 全部内存变量保存 save FileName x1 x2 x1,x2保存 load FileName 全部装入内存 load FileName x1 x2 x1,x2装入内存 文件名可以带路径,但不能带扩展名 扩展名默认为mat,1.4.5 M脚本编写初步,简单问题可以通过指令窗中输入一组指令求解 复杂问题或者可重复代码应该编写M脚本文件来解决,1.4.5 M脚本编写初步,M

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论