matlab-数字程序.doc_第1页
matlab-数字程序.doc_第2页
matlab-数字程序.doc_第3页
matlab-数字程序.doc_第4页
matlab-数字程序.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

第1章 MATLAB操作基础MATLAB是一款功能十分强大的工程软件,用户可以通过它实现科学计算、工程运算和仿真运算。在本章中,将详细讲解MATLAB的基础操作内容。本章的内容是后面章节的基础,了解常见的操作方法会给用户操作MATLAB带来便利。1.1 MATLAB概述从第一个版本推出以来,MATLAB就以其友好的界面、强大的功能受到用户的喜爱。随后的版本更是在原始版本的基础上,不断扩展MATLAB软件的功能。下面将概要地介绍MATLAB的主要功能和特点。1.1.1 MATLAB的主要功能MATLAB提供了上百个预先定义好的命令和函数,这些函数可通过用户自定义扩展。MATLAB能够用单一的函数求解线性系统,完成大量的高级矩阵处理。此外,它还提供了大量强有力的二维、三维图形工具,可以方便、快捷地完成各种绘图操作。根据MATLAB可以实现的任务性质,可将其功能划分为如下几个方面。q 数值计算和符号计算功能:以矩阵作为数据操作的基本单位,提供了丰富的数值计算函数。与著名的符号计算语言Maple相结合,使得MATLAB拥有了符号计算功能。q 绘图功能:提供了两个层次的绘图操作,一种是对图形句柄进行的低层绘图操作,另一种是建立在低层绘图操作之上的高层绘图操作。q 编程语言:具有程序结构控制、函数调用、数据结构、输入/输出、面向对象等程序语言特征。q MATLAB工具箱:MATLAB包含两部分内容,即基本部分和各种可选的工具箱。MATLAB工具箱分为两大类:功能性工具箱和学科性工具箱。1.1.2 MATLAB的特点MATLAB利用丰富的函数资源,为用户提供了最直观、最简洁的程序开发环境,使编程人员从繁琐的程序代码中解放出来。MATLAB的主要特点如下:q 语言简洁紧凑,使用方便灵活,函数丰富。q 运算符丰富。由于MATLAB是用C语言编写的,因此其提供了和C语言几乎一样多的运算符,灵活运用这些运算符可使程序变得极为简短。q MATLAB既具有结构化的控制语句(如for循环、while循环、break语句和if语句),又有面向对象编程的特性。q MATLAB程序的可移植性较好,基本上无须修改就可以在各种计算机和操作系统上运行。q MATLAB的图形功能强大,具有较强的编辑图形界面的能力。1.2 MATLAB集成环境MATLAB 7.0是高度集成的语言环境,用户可以从中运行MATLAB的常用函数、编写MATLAB的程序代码,还可以自定义设置集成环境的属性。本节将详细讲解如何使用MATLAB的集成环境。1.2.1 启动与退出MATLAB系统的启动与Windows程序一样,有3种常用方法。q 选择“开始”|“程序”|MATLAB|MATLAB命令,即可启动MATLAB系统。q 利用Windows建立快捷方式的功能,将MATLAB程序以快捷方式图标的形式放在桌面上。只要在桌面上双击该图标,即可启动MATLAB。q 运行MATLAB系统启动程序matlab.exe。启动MATLAB后,将进入MATLAB 7.0集成环境。MATLAB 7.0集成环境主要由MATLAB主窗口、命令窗口(Command Window)、工作空间窗口(Workspace)、命令历史窗口(Command History)、当前目录窗口(Current Directory)和启动平台窗口(Launch Pad)等组成。当MATLAB安装完毕并首次启动时,展现在屏幕上的界面为MATLAB的默认界面,如图1.1所示。图1.1 MATLAB7.0的默认初始界面要退出MATLAB系统,也有3种方法。q 单击MATLAB命令窗口右上角的“关闭”按钮。q 在命令窗口中选择File|Exit命令。q 在MATLAB命令窗口中输入Exit和Quit命令。提示:在MATLAB中,变量名是以字母开头,后接字母、数字或下划线的字符序列,最多19个字符,且区分字母的大小写。MATLAB提供的标准函数名必须用小写字母。1.2.2 命令窗口MATLAB主窗口是指其工作界面,而命令窗口是其中最重要的窗口之一,如图1.2所示。用户可以在命令窗口中输入函数,然后显示运算的结果。命令窗口中的“”是命令提示符,表示MATLAB当前处于准备状态。在命令提示符后输入命令,并按下Enter键后,MATLAB就会解释执行所输入的命令。图1.2 命令窗口通常情况下,用户可以在一个命令行输入一条命令,按下Enter键表示结束。但一个命令行也可以输入多条命令,用逗号分隔;若前一命令后带有分号,则逗号可以省略。例如:m=30,n=50m=20; n=45如果命令行很长,一行之内写不下,可以在第一行之后加上3个小黑点,并按下Enter键,然后在下一行继续写其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的继续。在MATLAB中,有很多的控制键和方向键可用于命令行的编辑。说明:图中光标所在的空白区域是命令编辑区,用于输入命令和显示结果。1.2.3 工作空间窗口工作空间窗口用于存储各种变量和结果。在该窗口中,将显示工作空间中所有变量的名称、字节数和变量类型,用户可对变量进行查看、编辑、保存和删除等操作,如图1.3所示。图1.3 工作空间窗口1.2.4 当前目录窗口当前目录是指运行文件时的工作目录,只有在当前目录或搜索路径下的文件、函数,用户才可以运行或调用。在当前目录窗口中,用户可以改变当前目录。此外,MATLAB还为文件提供了搜索功能。用户可以使用cd命令设置当前目录。例如,要将用户目录c:mydir设置为当前目录,可在命令窗口输入如下命令。cd c:mydirMATLAB的当前目录窗口如图1.4所示。图1.4 当前目录窗口1.2.5 命令历史窗口在默认情况下,命令历史窗口会保留从安装起所有用过的函数的历史记录,并标明使用时间。在该窗口中双击某一命令,即可再次运行该命令。此外,用户还可以根据需要删除保留的命令。典型的命令历史窗口如图1.5所示。图1.5 命令历史窗口1.3 MATLAB的基础操作为了便于读者理解,本节将结合一些具体的案例介绍MATLAB的基础操作,为后面章节的学习做好准备。1.3.1 使用命令窗口下面将讲解如何在命令窗口中输入数值,并查看MATLAB将如何显示用户输入的数值或者矩阵数值。【案例1.1】演示矩阵的输入方法。(1)在命令窗口输入下面的命令: A=1 2 3;4 5 6;7 8 9;按Enter键,命令被执行。(2)在命令执行后,MATLAB命令窗口中将显示以下结果,如图1.6所示。图1.6 命令窗口的结果 AA = 1 2 3 4 5 67 8 9【案例分析】本例只是简单地演示如何输入矩阵的内容,关于矩阵输入的具体内容将在后面章节中具体分析。1.3.2 绘制图形MATLAB的最大功能除了科学计算和数值运算之外,显示对应的图形也是其重要特色之一。在MATLAB中,用户可以使用简单的命令绘制出复杂的图形。下面就简单介绍一下MATLAB绘制图形的功能。【案例1.2】绘制函数的图形。(1)在命令窗口中输入下列内容: x=0:pi*0.05:2*pi; y=x.*exp(-x); plot(x,y) grid on(2)执行上述命令后,结果如图1.7所示。图1.7 绘制超越函数的图形【案例分析】上述函数实质上是超越函数,如果使用其他软件,会比较复杂,需要使用多个函数。同时,用户可以根据需要编辑其图形。这些函数将在后面章节中进行详细的分析、讲解。1.3.3 查看内存变量内存变量是MATLAB中的重要内容,MATLAB中的所有数据都保存在内存中。在进行一些复杂的操作和运算后,有时需要查看内存变量的内容和属性。对此,MATLAB提供了几个常见的函数,可以帮助用户方便、快捷地实现内存变量的查看。【案例1.3】查看MATLAB内存空间中包含的变量。在命令窗口中输入下列内容: whoYour variables are:A C1 C2 C3 C4 a e m t x y z【案例分析】从上面的结果中可以看出,在当前MATLAB内存空间中包含多个变量,用户可以查看Workspace的变量情况,如图1.8所示。图1.8 工作空间的变量【案例1.4】分析MATLAB中驻留变量的详细情况,其中包括变量名、数组维数、占用字节数和变量的类型(如双精度)等。(1)在命令窗口中输入下列内容: whos Name Size Bytes Class A 3x3 72 double array C1 3x3 72 double array C2 2x2 32 double array C3 2x2 32 double array C4 2x2 32 double array a 1x1 8 double array e 1x41 328 double array m 1x1 8 double array t 1x201 1608 double array x 1x41 328 double array y 1x41 328 double array z 100x100 80000 double arrayGrand total is 10356 elements using 82848 bytes(2)清除内存中的所有变量,然后重新查看内存情况。输入下面的命令: clear; whos【案例分析】从上面的结果中可以看出,当用户使用clear命令清除所有的变量后,内存中将不包含任何变量,如图1.9所示。图1.9 清除变量后的情况1.4 帮 助 系 统MATLAB提供了大量的函数,功能十分强大。当遇到一些不熟悉的功能后,可以通过帮助系统获取帮助。本节将详细介绍MATLAB中的帮助系统。1.4.1 帮助窗口用户可以通过以下3种方法进入MATLAB的帮助窗口:q 在MATLAB主窗口中单击工具栏中的Help按钮。q 在命令窗口中输入helpwin、helpdesk或doc。q 选择Help|MATLAB Help命令。1.4.2 帮助命令MATLAB提供了多个帮助命令,主要包括help、lookfor以及模糊查询等。在命令窗口中输入help命令,将会显示帮助系统中所包含的所有项目。1直接使用help命令【功能介绍】如果知道所要求助的主题词或命令名称,则可以使用help命令获得MATLAB提供的在线帮助。【案例1.5】查看关于绘图函数poly的帮助信息。在MATLAB的命令窗口中输入如下内容: help poly POLY Convert roots to polynomial. POLY(A),when A is an N by N matrix,is a row vector with N+1 elements which are the coefficients of the characteristic polynomial,DET(lambda*EYE(SIZE(A) - A) . POLY(V),when V is a vector,is a vector whose elements are the coefficients of the polynomial whose roots are the elements of V . For vectors,ROOTS and POLY are inverse functions of each other,up to ordering,scaling,and roundoff error. ROOTS(POLY(1:20) generates Wilkinsons famous example. Class support for inputs A,V: float: double,single See also roots,conv,residue,polyval. Overloaded functions or methods(ones with the same name in other directories) help sym/poly.m Reference page in Help browser doc poly.【案例分析】上面的帮助信息其实是程序开发人员对该函数提供的说明文字。2分类搜索【案例1.6】显示帮助的分类名称明细表。在MATLAB的命令窗口中输入如下内容: helpHELP topicsmatlabgeneral - General purpose commands.matlabops - Operators and special characters.matlablang - Programming language constructs.matlabelmat - Elementary matrices and matrix manipulation.matlabelfun - Elementary math functions.matlabspecfun - Specialized math functions.matlabmatfun - Matrix functions - numerical linear algebra.matlabdatafun - Data analysis and Fourier transforms.matlabpolyfun - Interpolation and polynomials.matlabfunfun - Function functions and ODE solvers.matlabsparfun - Sparse matrices.matlabscribe - Annotation and Plot Editing.matlabgraph2d - Two dimensional graphs.matlabgraph3d - Three dimensional graphs.matlabspecgraph - Specialized graphs.matlabgraphics - Handle Graphics.matlabuitools - Graphical user interface tools.matlabstrfun - Character strings./此处省略了多个结果MATLAB7work - (No table of contents file)curvefitcurvefit - Curve Fitting Toolboxcurvefitcftoolgui - (No table of contents file)sharedoptimlib - Optimization Libraryimaqimaq - Image Acquisition Toolboximaqimaqdemos - Image Acquisition Toolbox.toolboxoptim - Optimization Toolboxtoolboxpde - Partial Differential Equation Toolboxtoolboxsymbolic - Symbolic Math Toolboxsloptimsloptim - Simulink Response Optimization sloptimsloptguis - (No table of contents file)sloptimsloptdemos - Simulink Response Optimization Demos.sloptimsloptobsolete - (No table of contents file)sharedcontrollib - Control Librarysharedslcontrollib - Simulink Control Design Librarydaqdaq - Data Acquisition Toolboxdaqdaqguis - Data Acquisition Toolbox - Data Acquisition Soft Instruments.daqdaqdemos - Data Acquisition Toolbox - Data Acquisition Demos.databasedatabase - Database Toolboxdatabasedbdemos - Database Toolbox Demonstration Functions.databasevqb - Visual Query Builder functions.toolboxgads - (No table of contents file)gadsgads - Genetic Algorithm Direct Search Toolboxgadsgadsdemos - Genetic Algorithm Direct Search Toolboxtoolboxstats - Statistics Toolbox. 【案例分析】上面的帮助结果随用户安装的组件不同而各有不同。3获得子类的函数帮助【案例1.7】获取database的帮助信息。在MATLAB的命令窗口中输入如下内容: help database Database Toolbox Version 3.0(R14) 05-May-2004 General functions: chkprops - Database object properties. logintimeout - Set or get time allowed to establish database connection. setdbprefs - Set preferences for database actions for handling null values. Database Access functions: /database/clearwarnings - Clear warnings for database connection. /database/close - Close database connection. /database/commit - Make database changes permanent. /database/database - Connect to database. /database/exec - Execute SQL statement and open cursor. /database/get - Get database property. /database/insert - Export MATLAB cell array data to database table./此处省略部分结果 /vqb/querybuilder - Start visual SQL query builder. /vqb/showdata - Display data in interactive window. /vqb/showdatacallbacks - Visual Query Builder data display callbacks. /vqb/vqbdemo - Visual Query Builder demonstrations. that permits access to the database. DRIVER is a JDBC driver name and DATABASEURL is the URL for the database. The latter arguments are optional but both must be used in conjunction with each other. Use LOGINTIMEOUT before DATABASE to set the maximum time for a connection attempt. Example: JDBC-ODBC connection: conn=database(oracle,scott,tiger) where: oracle is the ODBC datasource name for an ORACLE database. scott is the user name. tiger is the password. JDBC connection: conn=database(oracle,scott,tiger, oracle.jdbc.driver.OracleDriver,jdbc:oracle:oci7:) where: oracle is the database name. scott is the user name. tiger is the password. oracle.jdbc.driver.OracleDriver is the JDBC driver to be used to make the connection. jdbc:oracle:oci7: is the URL as defined by the Driver vendor to establish a connection with the database. See also: close Reference page in Help browser doc database.【案例分析】关于子类函数的帮助信息,用户需要注意上面的文字结构。4lookfor命令使用help命令只能搜索出完全匹配的结果,而lookfor命令可以对M文件的第1行进行关键字搜索。若在lookfor命令后加上-all选项,则可对M文件进行全文搜索。【案例1.8】查找包含关键字poisson的所有函数。在MATLAB的命令窗

温馨提示

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

评论

0/150

提交评论