第一讲 MATLAB简介 1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 1.1.2 MATLAB的发展史

Slides:



Advertisements
Similar presentations
1 —— 数学软件 计算机应用基础. 2 数学软件 论文排版: LaTeX , Word , Powerpoint 程序设计: FORTRAN , C/C++ 数值计算: Matlab , Scilab 符号计算: Mathematica , Maple 统计软件: SAS , SPSS 数学规划:
Advertisements

Matlab 教學 Speaker :陳珮妮 Date : 2013/03/14 1. Outline  MATLAB 簡介  算術邏輯運算  Matlab 陣列  Matlab 矩陣 2.
聞一多詩集導讀-- 《死水》與《紅燭》 系級/組別:森資一 第五組
第十章 图像的频域变换.
MATLAB小结、 经典迭代法、CG.
参考书: 《数字信号处理及其Matlab实现》
Introduction to Matlab
Matlab教學 Speaker:林昱志 Date:2012/10/18.
張智星 清大資工系 多媒體檢索實驗室 MATLAB小傳與外觀 張智星 清大資工系 多媒體檢索實驗室.
1-1 MATLAB 小傳(1) 由MathWorks公司於1984年推出的 數學軟體。 名稱是由「矩陣實驗室﹙MATrix
1012 MATLAB 教學 彭奕翔 2013/02/27.
数学软件 Matlab —— 二维平面作图 —— 三维空间作图.
MATLAB程序设计基础 MATLAB的图形处理.
运用Matlab GUI辅助大学物理实验 蒋志洁 中山大学 物理学院
——Matlab语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。
数值计算的工具—MATLAB 电子计算机技术为应用数学解决实际问题创造了物质条件 。
2010年桂林理工大学数学建模竞赛暑期培训班 MATLAB编程入门培训课程
第三讲 MATLAB的符号运算 科学与工程技术中的数值运算固然重要,但自然科学理论分析中各种各样的公式、关系式及其推导就是符号运算要解决的问题。 在Matlab7.0中,符号计算虽以数值运算的补充身份出现,但它们都是科学计算研究的重要内容。 Matlab开发了实现符号计算的工具包Symbolic Math.
REVIEW 基本XYZ立體繪圖命令 MATLAB 程式設計與應用 張智星
課程大綱 第一章 Laplace 變換 1.1 基本概念與定理 1.2 常係數之線性微分方程式的 Laplace 變換解
全球工程師共同的語言 MathWorks 台灣總代理鈦思科技 指導老師 : 郭艷光教授 報告者 : 吳育驊
Matlab及其应用 鲍文 哈尔滨工业大学 先进动力控制与可靠性研究所
第2章 Fortran程序设计基础.
第1章 MATLAB概述 1.1 MATLAB 7.x简介 是Matrix Laboratory的缩写,它将计算、可视化和编程功能于一身,是一个开放的基于矩阵的交互式开发系统。主要用于数学计算、系统建模与仿真、数据分析与可视化等。(Mathworks始创于1984) MATLAB的系统结构.
MATLAB介紹.
第四章 线性代数问题求解 矩阵 线性方程组的直接解法 线性方程组的迭代法 线性方程组的符号解法 稀疏矩阵技术 特征值与特征向量.
第2章 MATLAB矩阵及其运算 2. 1 变量和数据操作 2. 2 MATLAB矩阵 2. 3 MATLAB运算 2. 4 矩阵分析 2
數學與電腦 的初相識 汪群超 個人網址: 變有不可者三,有不可不變者三: 能力未至不可變也、 學識未敷不得變也、 功侯未到不能變也。
Z Mathematical Model ‡ ' MATLAB简介.
MATLAB 程式設計入門篇 握把式圖形與 GUI 設計
MATLAB、CTEX简介 及其 在教学中的应用
Application of Matlab Language
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具.
第4章 MATLAB绘图 4.1 MATLAB二维曲线绘图 基本绘图指令 1.plot(Y) 功能:画一条或多条折线图.
边界条件/CFX表达式语言 讲座 3.
Matlab基础介绍 Matlab 简介 Matlab 的安装与启动 Matlab 编程基础 Matlab 在数字信号处理课程中的应用.
为什么要信耶稣? 黃力夫教授 北卡大学药学院.
引 言.
Introduction to MATLAB
数学建模与数学实验 MATLAB作图.
授課教授:張寶基 助教:梁凱雯 郭千豪 音視訊處理實驗室 2014 / 9 / 30
MATLAB 程式設計入門篇 初探MATLAB
MATLAB 程序设计语言 任课教师:刘毅 西安电子科技大学 ISN国家重点实验室.
1.函数 2.程序 3.图形 目的:掌握Matlab作平面曲线图的方法与技巧
第6章 常用内部过程 作为一门古老而又年轻的高级计算机语言,Fortran提供了大量的内部过程供程序员在编程过程中使用。并且随着新标准的推出,Fortran语言的内部过程还在继续扩展,能够提供更多的常用功能,大大减轻了程序员的重复性劳动。本节主要介绍常用内部过程的基本知识。
第6章 MATLAB符号计算 6.1 符号计算基础 6.2 符号导数及其应用 6.3 符号积分 6.4 级数 6.5 代数方程的符号求解
MATLAB 入门教程.
数学实验与MATLAB简介  课程的背景和基本要求 MATLAB 使用简介 MATLAB 常用函数介绍 宝石切割问题实验.
第11章 MATLAB图形用户界面设计 11.1 菜单设计 11.2 对话框设计 11.3 图形用户界面设计工具
《 数学实验》4  符号变量与符号表达式 微积分基本运算 级数求和与泰勒展开式 常微分方程符号解.
MATLAB 程式設計入門篇 三維立體繪圖 (part1)
三維繪圖 Helix t = 0:pi/50:10*pi; % linspace(0,10*pi,500); figure plot3(sin(t),cos(t),t) grid on axis square Remark: zlabel, view, surf.
实验教学 MATLAB在行列式和矩阵中的应用 授课教师:杨梦云.
MATLAB 程式設計入門篇 初探MATLAB
第四章 不定积分 第一节 不定积分的概念与性质 一、原函数与不定积分 二、不定积分的基本性质 三、不定积分的性质 四、不定积分的几何意义.
第二章 MATLAB编程与作图 2.1 程序设计 2.2 作图 2.3 在线帮助和文件管理 2.4 习题 2019年4月23日
高山草原生態系 分布於臺灣3000公尺以上高山,如中央山脈.玉山山脈.雪山山脈 分為玉山箭竹草原,高山芒草原及兩者混生林三種
第二节 MATLAB 图形处理 内容: §1 二维图形显示 §2 图形可视编辑工具 §3 三维图形显示 §4 视角变换与三视图
第一单元 第1课 Matlab概述 1.MATLAB 2.工具箱 3.高效数值计算功能 4.完备的计算结果和编程可视化功能
Introduction to Matlab
数学软件 Matlab —— 自定义函数的几种方式.
第7章 MATLAB工程计算.
MATLAB 实用教程.
第八章 服務部門成本分攤.
大数据应用人才培养系列教材 Python语言 刘 鹏 张 燕 总主编 李肖俊 主编 刘 河 钟 涛 副主编.
原版:清大資工系 張智星 新增版:方煒 台大生機系
第2章 MATLAB的基本语法 2.1 变量及其赋值 2.2 运算符与数学表达式 2.3 控制流 2.4 数据的输入输出及文件的读写
第二模块 函数、极限、连续 第七节 无穷小量的比较
实验二 定积分的近似计算.
Presentation transcript:

第一讲 MATLAB简介 1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 1.1.2 MATLAB的发展史 二维曲线图形三维曲面图形、句柄图形、图形用户界面(GUI)编程。

1.1 MATLAB与通信仿真 1.1.1 通信电路与系统仿真 一般来说,通信电路与系统仿真过程可以分为五个步骤: (1)系统建模:根据要分析的通信电路与系统,建立相应的数学模型。 (2)仿真算法:找到合适的仿真算法。 MATLAB已经被确认为准确、可靠的科学计算标准软件。 (3)仿真语言:应用仿真语言编写计算程序。MTLAB语言有非常突出的优点,是通信电路与系统仿真首选的仿真语言。 (4)仿真计算:根据初步的仿真结果对该数学模型进行验证。 (5)系统仿真:进行系统仿真,并认真地分析仿真的结果。 仿真算法、仿真语言和仿真程序构成了数字仿真软件。 数学模型的正确性、仿真算法的可行性、仿真程序的准确性和可靠性,最后编制成一个成熟的仿真软件。

1.1.1 通信电路与系统仿真(续) 通信电路与系统仿真在教学实践中应用越来越普遍。 对于改进教学效果、给学生提供形象化的信息、激发学生的学习兴趣、提高学生的自学能力、加强学生对授课内容的理解等无疑是十分有益的。有利于对学生分析问题的能力和解决问题的能力的培养。 学生掌握了系统仿真的方法以后,不但使他加强了对所学课程的理解,同时还便于钻研一些他本人感兴趣的问题,有利于部分学有余力的学生进一步自学的要求。 在美国和欧洲大学中,九十年代将MATLAB正式列入了电子工程专业研究生和本科生的教学计划, MATLAB是必须掌握的基本工具。 在设计研究单位和工业界,MATLAB也成为工程师们应该掌握的一种工具,是被认作进行高效研究、开发的首选软件工具。

1.1.2 MATLAB的发展史 MATLAB名字由MATrix和 LABoratory 两词的前三个字母组合而成。那是20世纪七十年代,时任美国新墨西哥大学计算机科学系主任的Cleve Moler出于减轻学生编程负担的动机,为学生设计了一组调用LINPACK和EISPACK矩阵软件工具包库程序的的“通俗易用”的接口,此即用FORTRAN编写的萌芽状态的MATLAB。 1984年由Little、Moler、Steve Bangert合作成立MathWorks公司,并把MATLAB正式推向市场。从这时起,MATLAB的内核采用C语言编写,而且除原有的数值计算能力外,还新增了数据图视功能。 1997年仲春,MATLAB5.0版问世,紧接着是5.1、5.2,以及和1999年春的5.3版。现今的MATLAB拥有更丰富的数据类型和结构、更友善的面向对象、更加快速精良的图形可视、更广博的数学和数据分析资源、更多的应用开发工具。

1.1.3 MATLAB语言的主要特点 (1)具有丰富的数学功能 包括矩阵各种运算。如:正交变换、三角分解、特征值、常见的特殊矩阵等。 包括各种特殊函数。如:贝塞尔函数、勒让德函数、伽码函数、贝塔函数、椭圆函数等。 包括各种数学运算功能。如:数值微分、数值积分、插值、求极值、方程求根、FFT 、常微分方程的数值解等。 (2)具有很好的图视系统 可方便地画出两维和三维图形。 高级图形处理。如:色彩控制、句柄图形、动画等。 图形用户界面GUI制作工具,可以制作用户菜单和控件。使用者可以根据自己的需求编写出满意的图形界面。

1.1.3 MATLAB语言的主要特点(续) (3)可以直接处理声言和图形文件。 声言文件。如: WAV文件(例:wavread,sound等)。 图形文件。如: bmp 、gif 、 pcx 、tif 、jpeg等文件。 (4)具有若干功能强大的应用工具箱。 如:SIMULINK、COMM、DSP、 SIGNAL等16种工具箱。 (5)使用方便,具有很好的扩张功能。 使用MATLAB语言编写的程序可以直接运行,无需编译。 可以M文件转变为独立于平台的EXE可执行文件。 MATLAB的应用接口程序API是MATLAB提供的十分重要的组件 ,由 一系列接口指令组成 。用户就可在FORTRAN或C中 , 把MATLAB当作计算引擎使用 。 (6)具有很好的帮助功能 提供十分详细的帮助文件(PDF 、HTML 、demo文件)。 联机查询指令:help指令(例:help elfun,help exp,help simulink),lookfor关键词(例: lookfor fourier )。

同一个元胞数组中各元胞的内容可以不同。(例 1_2_1) 1.2 MATLAB简介 1.2 .1 MATLAB的计算功能 (1) MATLAB的数据类型 现有四种基本数据类型:双精度数组、字符串数组、元胞数组、构架数组。 元胞数组(Cell Array)如同银行里的保险箱库一样。 该数组的基本组分是元胞(Cell),以下标来区分。 元胞可以存放任何类型、任何大小的数组。 同一个元胞数组中各元胞的内容可以不同。(例 1_2_1) 构架数组(Structure Array)也能存放各类数据。 该数组的基本组分是构架( Structure ),以下标来区分。 构架必须在划分“域”后才能使用。 数据不能存放于构架,只能存放在域中。 构架的域可以存放任何类型、任何大小的数组。 不同构架的同名域中存放的内容可不同。(例 1_2_2 )

(2) MATLAB的基本数值计算功能 基本计算功能:MATLAB有强大的函数库。(常用的基本函数库和常用的三角函数库等) 矩阵运算及数组运算。 矩阵运算符:+ 加法,- 减法,* 乘法,^ 幂,\ 左除,/ 右除,‘ 转置。 数组运算符:.+ 加法,.- 减法,.* 乘法,.^ 幂,.\ 左除,./ 右除,.‘ 共轭。 例 1_2_3:已知 的采样数据是 维数组。 要计算 。对一般的计算语言来说,必须采用两层循环才能得到结果。MATLAB处理这类问题则简洁快捷得多,它只需直截了当的一条指令y = exp(-2*t).*sin(5*t) ,就可获得同样是 维的 数组。 数组函数和矩阵函数。

(3) MATLAB的高级数值计算功能 关系运算和逻辑运算。 多项式:多项式的求根、分解 、求导数以及多项式的拟合。 例 1_2_4:在付立叶变换(Fourier)、 Z 变换和拉氏变换(Laplace)中,常有两个多项式之比,MATLAB中提供函数 residue 执行部分分式展开。 数据分析函数:对数据集合进行统计分析。例如:求最大值、最小值、平均值、标准偏差 、相关系数等。 数值分析函数:求函数极值、函数零点和极点、数值积分、数值微分、微分方程的数值解等。 付立叶变换和付立叶逆变换。 例 1_2_5:应用数值积分,求时间函数w(t)的Fourier级数展开系数。 例 1_2_6:应用FFT,求时间函数w(t)的Fourier级数展开系数。

(4) MATLAB的符号计算 符号计算的两大特点:符号解和任意精度解。 MATLAB的符号计算借助符号工具箱(Symbolic)实现。 符号表达式和符号矩阵。 定义基本符号对象的指令有两个:sym,syms。 符号表达式: 。 符号矩阵: 符号矩阵的基本运算。 两个符号矩阵的和: symadd(A,B) 两个符号矩阵的差: symsub(A,B) 两个符号矩阵的积: symmul(A,B) 两个符号矩阵的除: symdiv(A,B) 符号矩阵的求逆: inverse(B)

[X,Z]=linsolve(A,B)(通解) (4) MATLAB的符号计算(续) 符号微积分。 符号表达式的微分: diff(f) 符号表达式的积分: int(f) 符号代数方程的求解。 线性方程组的符号解:X=linsolve(A,B)(特解) [X,Z]=linsolve(A,B)(通解) 一般代数方程的解:solve(S) 符号微分方程的求解:[y1,y2,…]=dsolve(a1,a2,…,a12) 符号积分变换。 例 1_2_7:应用符号计算法,求时间函数w(t)的Fourier级数展开系数。

1.2.2 MATLAB中的计算结果可视化 (1)二维曲线图形和三维曲面图形 二维曲线图形。 基本绘图指令:PLOT(Y),PLOT(X,Y) 例 1_2_8:混合式图形的绘制(矩阵对向量的图形)。 一个窗口多个图形的绘制:SUBPLOT(M,N,P) 例 1_2_9:一个窗口多个图形的绘制。 三维曲面图形。 三维线性图形。 例 1_2_10:绘制一个三维螺旋线。 三维曲面图形。 例 1_2_11:绘制一个三维曲面图形。

(1)二维曲线图形和三维曲面图形(续1) 特殊二维图形指令: 填充的函数折(曲)线图(面域图):area 直方图:bar 垂直的直方图:barh 三维直方图:bar3 垂直的三维直方图:bar3h 慧星轨迹状的图形:comet 射线图:compass 误差棒图:errorbar 符号函数二维曲线:ezplot 沿X轴分布的复数向量图(羽毛图):feather 平面多边形填色 :fill

(1)二维曲线图形和三维曲面图形(续2) 特殊二维图形指令: 数值函数二维曲线(泛函绘图指令):fplot 向量的统计直方图:hist 带有标准的直方图:pareto 饼图:pie 三维饼图:pie3 矩阵折(曲)线图:plotmatrix 带状图:ribbon 散点图(与相似 ,但是只有数据点):scatter 火柴杆图:stem 阶梯图:stairs

(1)二维曲线图形和三维曲面图形(续3) 交互式图形指令: 这是与鼠标有关的图形操作指令:ginput,gtext,legend,zoom 。 除 ginput 只能用于二维图形外 ,其余三个指令对二维、三维图形均适用 。 指令 ginput 与 zoom 经常配合使用 ,以便从图形获得较准确的数据 。 指令 [x,y] = ginput(n)用鼠标从二维图形上获得 n 个点的数据坐标(x,y)。 指令 gtext (arg)用鼠标把字符串或字符串元胞数组 arg 放置到图形上。 指令 legend (arg,pos)在指定位置建立图例。 指令 zoom 是变焦操作(图形放大和缩小)。

(2)句柄图形 句柄图形(Handle Graphics)是一种面向对象的绘图系统。该系统提供创建计算机图形所必须的各种软件。它所支持的指令,可直接创建线、 文字、 网线、面以及图形用户界面。前述的MATLAB高层图形指令都是以句柄图形软件为基础写成的,所以句柄图形也称为低层图形指令。 图形对象、对象句柄和句柄图形树。 MATLAB把用于数据可视和界面制作的基本绘图要素称为句柄图形对象。 构成MATLAB句柄图形体系有12个图形对象:根屏幕、图形窗、界面控件、轴 、界面菜单、线、面、方、块、象、字、光。 每个具体对象都有一个“与生俱来 、终生不变”的独特“身份”,即对象句柄。 根屏幕的句柄总是数字0,图形窗的句柄总是正整数,其余对象的句柄则是双精度浮点数。(句柄图形树)

(2)句柄图形(续) 图形对象的属性:所有对象都由一组属性来定义它们的特征。属性由两部分组成:属性名和属性值。 图形对象属性的设置和使用。 图形对象句柄的获得: 函数 返回对象所有属性的当前值。 函数 改变句柄图形对象的属性。 句柄图形应用举例。 例 1_2_13:任意布置子图和轴外注释。 例 1_2_14:制作个性化双坐标系。 例 1_2_15:连续变焦和飞驰图形。 例 1_2_16:动画制作示例。

(3)图形用户界面(GUI)编程 ( ) 现代的主流应用程序已经从命令行的交互方式转变为以图形界面为主的交互方式,这主要是由于它给用户带来了操作和控制的方便与灵活性。MATLAB能够以比较简单的方式实现一系列的图形界面功能。 控件对象及属性。 控件对象是一类图形界面对象, MATLAB支持10种控件对象:坐标轴、静态文本框、可编辑文本框、弹式菜单、滚动条、框架、命令按钮、单选按钮、复选框、列表框。 用户用鼠标在控件对象上进行操作,单击鼠标时 ,将会使应用程序作出响应并执行某些预定的子程序。 控件对象的属性分为两大类,笫一类是所有控件对象都具有的公共属性,笫二类是作为图形对象的属性。 创建控件对象的MATLAB函数:

(3)图形用户界面(GUI)编程(续) 菜单对象及属性。 菜单对象(或称下拉式菜单对象)可以让用户在运行应用程序时,从一批功能选择项中浏览和选择某项功能。在MATLAB图形窗口中 是默认主菜单,用户可以创建自己定义的菜单。 在所有用户菜单属性中,最不可缺的属性是菜单名( )和回调( )。前者用于识别不同菜单项;后者用于产生相应的操作,使该菜单项发挥应有的作用。 创建菜单对象的MATLAB函数: 由M函数文件设计举例。 例 1_2_17:控件对象设计。 例 1_2_18:带下拉式菜单表的用户菜单。 例 1_2_19:用户菜单的外观设计 。 例 1_2_20:菜单的使能属性与不可见属性设计 。(END)

例 1_2_1 元胞数组 (M1_ex1_2_1.m) (张志涌P82) 返回 本例演示:元胞数组的创建。 C_str=char(‘清华大学’,‘电子工程系’); %产生字符串 R=reshape(1:9,3,3); %产生(3X3)实数阵R Cn=[1+2i]; %产生复数标量 S_sym=sym('sin(-3*t)*exp(-t)'); %产生符号函数量 (1)直接创建法之一:“外标识元胞元素赋值法” A(1,1)={C_str};A(1,2)={R}; A(2,1)={Cn};A(2,2)={S_sym}; A %显示元胞数组类型 (2)直接创建法之二:“编址元胞元素内涵的直接赋值法” B{1,1}=C_str;B{1,2}=R;B{2,1}=Cn;B{2,2}=S_sym; celldisp(B) %显示元胞数组内容

例 1_2_2 构架数组 (M1_ex1_2_2.m) (张志涌P86) 返回 本例通过温室数据(包括温室名、容积、温度、湿度等)演示:单构架green_house的创建和显示。(它有三个域:name,volume,parameter。而 parameter又有三个子域:temperature,humidity。) (1)直接对域赋值法产生“单构架”,即构架数组。 green_house.name=‘一号房’; %构架的域由(构架名).(域名)标识。 green_house.volume='2000立方米'; green_house.parameter.temperature=[31.2 30.4 31.6 28.7 29.7 31.1 30.9 29.6]; green_house.parameter.humidity=[62.1 59.5 57.7 61.5 62.0 61.9 59.2 57.5]; (2)显示“单构架”结构和内容:green_house,。。。

例 1_2_3 数组运算举例。 (M1_ex1_2_3.m) (张志涌P2) t=rand(10,10); 例 1_2_3 数组运算举例。 (M1_ex1_2_3.m) (张志涌P2) t=rand(10,10); y=exp(-2*t).*sin(5*t); 返回 演示:clear % 清除工作区变量 whos % 检查工作区变量 M1_ex1_2_3.m % 运行程序 whos % 检查工作区变量( t , y )

例 1_2_4 多项式部分分式展开。 返回 (龚剑P62) (M1_ex1_2_4.m) 例 1_2_4 多项式部分分式展开。 返回 (龚剑P62) (M1_ex1_2_4.m) num=10*[1 4 5 6 7]; %分子多项式 den=poly([-2;-1;-0。5]); %分母多项式 [res,poles,k]=residue(num,den) res = -6.6667 -60.0000 64.1667 poles = -2.0000 -1.0000 -0.5000 k = 10 5 上面的结果说明了这个问题 :

例 1_2_5:应用数值积分,求时间函数w(t)的Fourier级数展开系数。 返回 (张志涌P163) 已知时间函数: fzzyquad.m ? 调用函数cos_y,sin_y出问题。

例 1_2_6:应用FFT,求时间函数w(t)的Fourier级数展开系数。 返回 (张志涌P165) 已知时间函数: fzzyfft.m,运行指令:[A_fft,B_fft]=fzzyfft。

例 1_2_7:应用符号计算法,求时间函数w(t)的Fourier级数展开系数。 返回 (张志涌P162) 已知时间函数: [A_sym,B_sym]=fzzysym(T,Nf,Nn) % 采用符号计算求[0,T]内时间函数的三角级数展开系数。 % 函数的输入输出都是数值量 % Nf 谐波的阶数 % Nn 输出数据的准确位数 % A_sym 第1元素是直流项,其后元素依次是1,2,3...次谐波cos项展开系数 % B_sym 第2,3,4,...元素依次是1,2,3...次谐波sin项展开系数 %------------------------------------------------------------------------------ syms ttt n if nargin<1;T=2;end if nargin<2;Nf=6;end if nargin<3;Nn=32;end yy=time_fun_s(ttt); A0=int(yy,ttt,0,T)/T; As=int(yy*cos(2*pi*n*ttt/T),ttt,0,T); Bs=int(yy*sin(2*pi*n*ttt/T),ttt,0,T); A_sym(1)=double(vpa(A0,Nn)); for k=1:Nf A_sym(k+1)=double(vpa(subs(As,n,k),Nn)); B_sym(k+1)=double(vpa(subs(Bs,n,k),Nn)); %----------------------------------------------------------------------------- function yy=time_fun_s(ttt) % 该函数是fzzysym.m的子函数。它由符号变量和表达式写成。 y1=sym('Heaviside(ttt-0.5)')*(ttt-0.5); yy=y1-sym(‘Heaviside(ttt-1.5)’)*((ttt-1.5)+1);

例 1_2_8:混合式图形的绘制。 (龚剑P132) 返回 混合式图形的绘制(矩阵对向量的图形)。 % M1_ex1_2_8.m %=================== y=1:length(peaks); plot(peaks,y);

例 1_2_9:一个窗口多个图形的绘制。 (龚剑P139) 返回 将图形窗口分为四个区域,在每个区域中,采用横坐标自适应取点绘图绘制图形。 % M1_ex1_2_9.m %==================================== subplot(2,2,1),fplot('humps',[0 1]) subplot(2,2,2),fplot('abs(exp(-j*x*(0:9))*ones(10,1))',[0 2*pi]) subplot(2,2,3),fplot('[tan(x),sin(x),cos(x)]',2*pi*[-1 1 -1 1]) subplot(2,2,4),fplot('sin(1./x)',[0.01 0.1],1e-3)

例 1_2_10:绘制一个三维螺旋线。 (龚剑P140) 返回 plot3可用来画一个单变量的三维函数。 % M1_ex1_2_10.m %===================================== t=0:pi/50:10*pi; plot3(sin(t),cos(t),t) title('Helix'),xlabel('sin(t)'),ylabel('cos(t)'),zlabel('t') text(0,0,0,'Origin') grid

例 1_2_11:绘制一个三维曲面图形。 返回 (龚剑P143) % M1_ex1_2_11.m %======================== x=-8:0.5:8; y=x; [X,Y]=meshgrid(x,y); R=sqrt(X.^2+Y.^2)+eps; z=sin(R)./R; mesh(z) pause subplot(2,2,1);meshc(z) subplot(2,2,2);meshz(z)

例 1_2_12:句柄图形树 (张志涌P398) 返回 Root 根屏幕 Figure 图形窗 Uicontrol 界面控件 Axes 轴 Uimenu 界面菜单 Patch 块 Image 象 Text 字 Light 光 Line 线 Surface 面 Rectangle 方

例 1_2_13:任意布置子图和轴外注释。 返回 (张志涌P412) M1_ex1_2_13.m 本例演示:axes轴位框设计、rectangle的运用、及轴外注释。所谓轴外注释,实际上是使用了两个轴位框。一个轴位框充满全部图形窗,其坐标框被隐去,而只写注释文字。而另一个比较小的轴位框用于绘图。这样从外表看去,注释就处于那小轴位框的外部。

例 1_2_14:制作个性化双坐标系。 (张志涌P414) 返回 M1_ex1_2_14.m 制作一个双坐标系用来表现高压和低温两个不同量的过渡过程。

例 1_2_15:连续变焦和飞驰图形。 (张志涌P415) 返回 fly_zzy.m %连续改变相机位置,产生贯穿地球的效果。 earth_zzy(0)%调用函数文件,产生三维地球图形。 通过CameraPosition设置的不断变化,使地球迎面飞来,贯穿而过,从地球另一面飞离而去。但在整个飞行过程中,相机镜头始终对着地球。

例 1_2_16:动画制作示例。 返回 (张志涌P418) % anim_zzy1.m演示红色小球沿一条封闭螺线运动的实时动画 % 仅演示实时动画的调用格式为 anim_zzy1(K) % K 红球运动的循环数(不小于1)

例 1_2_17:控件对象设计。 返回 (张志涌P426) M1_1_2_17.m 对于传递函数为 的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。本例演示:(A)图形界面的大致生成过程;(B)静态文本和编辑框的生成;(C)坐标方格控制键的形成;(D)如何使用该界面。 在编辑框输入 0.3,可以看到 一根曲线 。 在编辑框输入 0.1:0.1:1,可以看到十根曲线 。

例 1_2_18:带下拉式菜单表的用户菜单。 返回 (张志涌P431) M1_1_2_18.m 本例演示:如何自制一个带下拉菜单表的用户菜单。该菜单能使图形窗背景颜色设置为兰色或红色。

例 1_2_19:用户菜单的外观设计 。 返回 (张志涌P435) M1_2_19.m 本例演示:(A)把用户菜单 'Option' 设置为顶层的第3菜单项;(B)下拉菜单被两条分隔线分为三个菜单区;(C)最下菜单项又有两个子菜单组成。

例 1_2_20:菜单的使能与不可见属性设计 。 返回 (张志涌P437) M1_2_20.m 本例目标:制作一个带四个子菜单项的顶层菜单项;该下拉菜单分为两个功能区;每个功能区的两个菜单项是相互对立的,因此采用使能属性处理;当图形窗坐标轴消隐时,整个坐标分隔控制功能区不可见。

直方图:ex_bar.m 返回 %exm07412_1.m % 讲座一例(ex_bar.m) THEE 2001/9 %================================================== x=-2:2; Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; clf,shg subplot(1,2,1),bar(x',Y','stacked') xlabel('x'),ylabel('\Sigma y'),colormap(cool) legend('因素A','因素B','因素C') subplot(1,2,2),barh(x',Y','grouped') xlabel('y'),ylabel('x')

三维直方图: ex_bar3.m 返回 %exm07412_2.m % 讲座一例(ex_bar3.m) THEE 2001/9 %================================================== clf;shg x=-2:2; Y=[3,5,2,4,1;3,4,5,2,1;5,4,3,2,5]; subplot(1,2,1),bar3(x',Y',1) xlabel('因素ABC'),ylabel('x'),zlabel('y') colormap(summer) subplot(1,2,2),bar3h(x',Y','grouped') ylabel('y'),zlabel('x')

数值函数二维曲线(泛函绘图指令):ex_fplot.m 该指令的特点在于它的绘图数据点是自适应产生的。 返回 %exm074112_1.m % 讲座一例(ex_fplot.m) THEE 2001/9 %==================================================== %clf,shg [x,y]=fplot('cos(tan(pi*x))',[-0.4,1.4],0,2e-3);n=length(x); subplot(1,2,1),plot(x,y) title('\fontsize{20}\fontname{隶书}泛函绘图指令效果') t=(-0.4:1.8/n:1.4)'; subplot(1,2,2),plot(t,cos(tan(pi*t))) title('\fontsize{20}\fontname{隶书}等分采样绘图') %===================================================

返回 基本计算功能 常用的基本数学函数: abs(x), angle(z) , sqrt(x) , real(z) , imag(z) , conj(z) ,round(x), fix(x) , floor(x) , ceil(x) , rat(x) , rats(x) ,sign(x), rem(x,y) , gcd(x,y) , lcm(x,y), exp(x), pow2(x),log(x),log2(x),log10(x)。 常用的三角函数: sin(x), cos(x), tan(x) , asin(x), acos(x), atan(x) , atan2(x,y), sinh(x), cosh(x), tanh(x) , asinh(x), acosh(x), atanh(x) 。

数组函数和矩阵函数 返回 数组函数: besselj(NU,Z), bessely(NU,Z), beta(Z,W), erf(X), gamma(X), rat(X,tol), erfinv(Y), ellipke(M,tol), ellipj(U,M) 。 基本矩阵函数: cond(A), det(A), dot(A,B), eig(A), norm(A,1), norm(A,2), norm(A,inf), norm(A,’fro’), rank(A), rcond(A), svd(A), trace(A), expm(A), expm1(A), expm2(A), expm3(A), logm(A), sqrtm(A), funm(A,’fun’) 。 矩阵分解函数: cdf2rdf(V ,D), chol(A), eig(A), Hess(A) , null(A), LU(A), orth(A), pinv(A), qr(A), qz(A), rref(A), rst2csf(V ,D), schur(A), subspace(A ,B), svd(A) 。

返回 关系运算和逻辑运算 关系运算: <, <=, >, >=, ==, ~= 。 逻辑运算: &,| , ~ 。

联机查询指令:help指令 返回 例:help elfun,help exp,help simulink lookfor关键词(例: lookfor fourier )