当前位置:高等教育资讯网  >  中国高校课件下载中心  >  大学文库  >  浏览文档

《数学建模》附录matlab教程

资源类别:文库,文档格式:DOC,文档页数:35,文件大小:340KB,团购合买
MATLAB是 MATrix LABoratory(“矩阵实验室”)的缩写,是由美国 Math Works 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大 操作简单的语言。是国际公认的优秀数学应用软件之 20世纪80年代初期, Cleve Moler与 John Little等利用C语言开发了新一代的 MATLA B语言,此时的 MATLAB语言已同时具备了数值计算功能和简单的图形处理 功能。
点击下载完整版文档(DOC)

MATLAB软件基础 SIMATLAB概述 MATLAB是 MATrix LABoratory(“矩阵实验室”)的缩写,是由美国 Math Works 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大 操作简单的语言。是国际公认的优秀数学应用软件之 20世纪80年代初期, Cleve Moler与 John Little等利用C语言开发了新一代的 MATLA B语言,此时的 MATLAB语言已同时具备了数值计算功能和简单的图形处理 功能。1984年, Cleve moler与 John Little等正式成立了 Mathworks公司,把 MATLAB 语言推向市场,并开始了对 MATLAB工具箱等的开发设计。1993年, Mathworks公司 推出了基于个人计算机的 MATLAB40版本,到了1997年又推出了 MATLAB5X版 本( Release l1),并在2000年又推出了最新的 MATLAB6版本( Release2)。 现在,MA∏LAB已经发展成为适合多学科的大型软件,在世界各高校, MATLAB 已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动 态系统仿真等高级课程的基本教学工具。特别是最近几年, MATLAB在我国大学生数 学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的 保证 概括地讲,整个 MATLAB系统由两部分组成,即 MATLAB内核及辅助工具箱, 两者的调用构成了 MATLA B的强大功能。 MATLAB语言以数组为基本数据单位,包 括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言,它具有以 下主要特点: 1)运算符和库函数极其丰富,语言简洁,编程效率高, MATLAB除了提供和C语 言一样的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数可 使其程序相当简短,两三行语句就可实现几十行甚至几百行C或 FORTRAN的程序功 能 2)既具有结构化的控制语句(如for循环、 while循环、 break语句、if语句和 switch 语句),又有面向对象的编程特性。 3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高 层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令 4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能 性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬 件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、 控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。 5)易于扩充。除内部函数外,所有 MATLAB的核心文件和工具箱文件都是可读 可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用

MATLAB 软 件 基 础 §1 MATLAB 概述 MATLAB 是 MATrix LABoratory(“矩阵实验室”)的缩写,是由美国 MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、 操作简单的语言。是国际公认的优秀数学应用软件之一。 20 世纪 80 年代初期,Cleve Moler 与 John Little 等利用 C 语言开发了新一代的 MATLAB 语言,此时的 MATLAB 语言已同时具备了数值计算功能和简单的图形处理 功能。1984 年,Cleve Moler 与 John Little 等正式成立了 Mathworks 公司,把 MATLAB 语言推向市场,并开始了对 MATLAB 工具箱等的开发设计。1993 年,Mathworks 公司 推出了基于个人计算机的 MATLAB 4.0 版本,到了 1997 年又推出了 MATLAB 5.X 版 本(Release 11),并在 2000 年又推出了最新的 MATLAB 6 版本(Release 12)。 现在,MATLAB 已经发展成为适合多学科的大型软件,在世界各高校,MATLAB 已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动 态系统仿真等高级课程的基本教学工具。特别是最近几年,MATLAB 在我国大学生数 学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的 保证。 概括地讲,整个 MATLAB 系统由两部分组成,即 MATLAB 内核及辅助工具箱, 两者的调用构成了 MATLAB 的强大功能。MATLAB 语言以数组为基本数据单位,包 括控制流语句、函数、数据结构、输入输出及面向对象等特点的高级语言,它具有以 下主要特点: 1)运算符和库函数极其丰富,语言简洁,编程效率高,MATLAB 除了提供和 C 语 言一样的运算符号外,还提供广泛的矩阵和向量运算符。利用其运算符号和库函数可 使其程序相当简短,两三行语句就可实现几十行甚至几百行 C 或 FORTRAN 的程序功 能。 2)既具有结构化的控制语句(如 for 循环、while 循环、break 语句、if 语句和 switch 语句),又有面向对象的编程特性。 3)图形功能强大。它既包括对二维和三维数据可视化、图像处理、动画制作等高 层次的绘图命令,也包括可以修改图形及编制完整图形界面的、低层次的绘图命令。 4)功能强大的工具箱。工具箱可分为两类:功能性工具箱和学科性工具箱。功能 性工具箱主要用来扩充其符号计算功能、图示建模仿真功能、文字处理功能以及与硬 件实时交互的功能。而学科性工具箱是专业性比较强的,如优化工具箱、统计工具箱、 控制工具箱、小波工具箱、图象处理工具箱、通信工具箱等。 5)易于扩充。除内部函数外,所有 MATLAB 的核心文件和工具箱文件都是可读 可改的源文件,用户可修改源文件和加入自己的文件,它们可以与库函数一样被调用

2 MATLAB的安装与启动 21 MATLAB的安装 要用 MATLAB6,首先必须在计算机上安装 MATLAB6应用软件,随着软件功能 的不断完善,MA∏LAB对计算机系统配置的要求越来越高。下面给出安装和运行 MA∏LAB6所需要的计算机系统配置 ◆ MATLAB6对硬件的要求 CPU要求: Pentium I Pentium Ill、 AMD Athlon或者更高 光驱:8倍速以上; 内存:至少64MB,但推荐128MB以上 硬盘:视安装方式不同要求不统一,但至少留1GB用于安装(安装后未必有1GB) 显卡:8位 ◆ MATLAB6对软件的要求 Windows95、 Window98、 Windows ni或 Windows2000 Word97或word2000等,用于使用 MATLAB Notebook Adobe Acrobat Reader用于阅读 MATLAB的PDF的帮助信息 MATLAB6的安装和其它应用软件类似,可按照安装向导进行安装,这里不再赘述。 22 MATLAB的启动和退出 与常规的应用软件相同, MATLAB的启动也有多种方式,首先常用的方法就是双 击桌面的 MATLAB图标,也可以在开始菜单的程序选项中选择 MATLAB组件中的快 捷方式,当然也可以在 MATLAB的安装路径的子目录中选择可执行文件 “ MATLAB. exe”。 启动 MATLAB后,将打开一个 MATLAB的欢迎界面,随后打开 MATLAB的桌 面系统( Desktop)如图2-1所示 n? owes [CaoweI Rsw-4aimheas 图2-1 MATLAB的桌面系统

§2 MATLAB 的安装与启动 2.1 MATLAB 的安装 要用 MATLAB 6,首先必须在计算机上安装 MATLAB 6 应用软件,随着软件功能 的不断完善,MATLAB 对计算机系统配置的要求越来越高。下面给出安装和运行 MATLAB 6 所需要的计算机系统配置。 ◆ MATLAB 6 对硬件的要求 CPU 要求:Pentium II、Pentium III、AMD Athlon 或者更高; 光驱:8 倍速以上; 内存:至少 64MB,但推荐 128MB 以上; 硬盘:视安装方式不同要求不统一,但至少留 1GB 用于安装(安装后未必有 1GB); 显卡:8 位; ◆ MATLAB 6 对软件的要求 Windows95 、Window98、Windows NT 或 Windows2000; Word97 或 word2000 等,用于使用 MATLAB Notebook; Adobe Acrobat Reader 用于阅读 MATLAB 的 PDF 的帮助信息。 MATLAB 6 的安装和其它应用软件类似,可按照安装向导进行安装,这里不再赘述。 2.2 MATLAB 的启动和退出 与常规的应用软件相同,MATLAB 的启动也有多种方式,首先常用的方法就是双 击桌面的 MATLAB 图标,也可以在开始菜单的程序选项中选择 MATLAB 组件中的快 捷 方 式 ,当 然 也 可以 在 MATLAB 的安装路径的子目录中选择可执行文件 “MATLAB.exe”。 启动 MATLAB 后,将打开一个 MATLAB 的欢迎界面,随后打开 MATLAB 的桌 面系统(Desktop)如图 2-1 所示。 图 2-1 MATLAB 的桌面系统

S3 MATLAB的开发环境 MATLAB的开发环境就是在使用 MATLAB的过程中可激活的,并且为用户使用 提供支持的集成系统。这里介绍几个比较重要的如:桌面平台系统、帮助系统和数据 交换系统。 31 MATLAB桌面平台 桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括6个窗口, 具体如下: 3.11 MATLAB主窗口 MA∏LAB6比早期版本增加了一个主窗口。该窗口不能进行任何计算任务的操作, 只用来进行一些整体的环境参数的设置 312命令窗口( Command window) 命令窗口是对 MATLAB进行操作的主要载体,默认的情况下,启动 MATLAB时 就会打开命令窗口,显示形式如图1-1所示。一般来说, MATLAB的所有函数和命令 都可以在命令窗口中执行。在 MATLAB命令窗口中,命令的实现不仅可以由菜单操作 来实现,也可以由命令行操作来执行,下面就详细介绍 MALTAB命令行操作。 实际上,掌握 MALAB命令行操作是走入 MATLAB世界的第一步,命令行操作实 现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的 麻烦,体现了 MATLAB所特有的灵活性 例如 %在命令窗口中输入sin(pi/5),然后单击回车键,则会得到该表达式的值 sin(pi/5) ns- 0.5878 由例可以看出,为求得表达式的值,只需按照 MALAB语言规则将表达式输入即 可,结果会自动返回,而不必像其他的程序设计语言那样,编制冗长的程序来执行。 当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此 时需要使用续行符“……”否则 MATLAB将只计算一行的值,而不理会该行是否己输 入完毕 例如 sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+ sin(4/9*p)+sin(5/9*pi)+sin(6/9*pi)+… sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+…… ans- 5.6713

§3 MATLAB 的开发环境 MATLAB 的开发环境就是在使用 MATLAB 的过程中可激活的,并且为用户使用 提供支持的集成系统。这里介绍几个比较重要的如:桌面平台系统、帮助系统和数据 交换系统。 3.1 MATLAB 桌面平台 桌面平台是各桌面组件的展示平台,默认设置情况下的桌面平台包括 6 个窗口, 具体如下: 3.1.1 MATLAB 主窗口 MATLAB6 比早期版本增加了一个主窗口。该窗口不能进行任何计算任务的操作, 只用来进行一些整体的环境参数的设置。 3.1.2 命令窗口(Command Window) 命令窗口是对 MATLAB 进行操作的主要载体,默认的情况下,启动 MATLAB 时 就会打开命令窗口,显示形式如图 1-1 所示。一般来说,MATLAB 的所有函数和命令 都可以在命令窗口中执行。在 MATLAB 命令窗口中,命令的实现不仅可以由菜单操作 来实现,也可以由命令行操作来执行,下面就详细介绍 MALTAB 命令行操作。 实际上,掌握 MALAB 命令行操作是走入 MATLAB 世界的第一步,命令行操作实 现了对程序设计而言简单而又重要的人机交互,通过对命令行操作,避免了编程序的 麻烦,体现了 MATLAB 所特有的灵活性。 例如: %在命令窗口中输入 sin(pi/5),然后单击回车键,则会得到该表达式的值 sin(pi/5) ans= 0.5878 由例可以看出,为求得表达式的值,只需按照 MALAB 语言规则将表达式输入即 可,结果会自动返回,而不必像其他的程序设计语言那样,编制冗长的程序来执行。 当需要处理相当繁琐的计算时,可能在一行之内无法写完表达式,可以换行表示,此 时需要使用续行符“……”否则 MATLAB 将只计算一行的值,而不理会该行是否已输 入完毕。 例如: sin(1/9*pi)+sin(2/9*pi)+sin(3/9*pi)+…… sin(4/9*pi)+sin(5/9*pi)+sin(6/9*pi)+…… sin(7/9*pi)+sin(8/9*pi)+sin(9/9*pi)+…… ans= 5.6713

使用续行符之后 MATLAB会自动将前一行保留而不加以计算,并与下一行衔接 等待完整输入后再计算整个输入的结果 在 MATLAB命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比 如:“↑”可用于调出前一个命令行,“↓”可调出后一个命令行,避免了重新输入的 麻烦。当然下面即将讲到的历史窗口也具有此功能 313历史窗口( Command History) 历史命令窗口是 MATLAB6新增添的一个用户界面窗口,默认设置下历史命令窗 口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。 而且双击某一行命令,即在命令窗口中执行该命令。 3.14发行说明书窗口( Launch Pad) 发行说明书窗口是 MATLAB6所特有的,用来说明用户所拥有的 Mathworks公司 产品的工具包、演示以及帮助信息。当选中该窗口中的某个组件之后,可以打开相应 的窗口工具包 315当前目录窗口( Current Directory) 在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括 文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能 316工作空间管理窗口( Workspace) 工作空间管理窗口是 MATLAB的重要组成部分。在工作空间管理窗口中将显示所 有目前保存在内存中的 MATLAB变量的变量名、数据结构、字节数以及类型,而不同 的变量类型分别对应不同的变量名图标。 3.2 MATLAB帮助系统 完善的帮助系统是任何应用软件必要的组成部分。 MATLAB提供了相当丰富的帮 助信息,同时也提供了获得帮助的方法。首先,可以通过桌面平台的【Help】菜单来 获得帮助,也可以通过工具栏的帮助选项获得帮助。此外, MATLAB也提供了在命令 窗口中的获得帮助的多种方法,在命令窗口中获得 MATLAB帮助的命令及说明列于表 3-1中。其调用格式为: 命令+指定参数 表3-1 在帮助浏览器中显示指定函数的参考信息 help 在命令窗口中显示M文件帮助 helpbrowser打开帮助浏览器,无参数 helpwin 打开帮助浏览器,并且见初始界面置于 MATLAB函数的M文件 帮助信息 lookfor 在命令窗口中显示具有指定参数特征函数的M文件帮助 显示指定的网络页面,默认为 MATLAB帮助浏览器

使用续行符之后 MATLAB 会自动将前一行保留而不加以计算,并与下一行衔接, 等待完整输入后再计算整个输入的结果。 在 MATLAB 命令行操作中,有一些键盘按键可以提供特殊而方便的编辑操作。比 如:“↑”可用于调出前一个命令行,“↓”可调出后一个命令行,避免了重新输入的 麻烦。当然下面即将讲到的历史窗口也具有此功能。 3.1.3 历史窗口(Command History) 历史命令窗口是 MATLAB6 新增添的一个用户界面窗口,默认设置下历史命令窗 口会保留自安装时起所有命令的历史记录,并标明使用时间,以方便使用者的查询。 而且双击某一行命令,即在命令窗口中执行该命令。 3.1.4 发行说明书窗口(Launch Pad) 发行说明书窗口是 MATLAB6 所特有的,用来说明用户所拥有的 Mathworks 公司 产品的工具包、演示以及帮助信息。当选中该窗口中的某个组件之后,可以打开相应 的窗口工具包。 3.1.5 当前目录窗口(Current Directory ) 在当前目录窗口中可显示或改变当前目录,还可以显示当前目录下的文件,包括 文件名、文件类型、最后修改时间以及该文件的说明信息等并提供搜索功能。 3.1.6 工作空间管理窗口(Workspace) 工作空间管理窗口是 MATLAB 的重要组成部分。在工作空间管理窗口中将显示所 有目前保存在内存中的 MATLAB 变量的变量名、数据结构、字节数以及类型,而不同 的变量类型分别对应不同的变量名图标。 3.2 MATLAB 帮助系统 完善的帮助系统是任何应用软件必要的组成部分。MATLAB 提供了相当丰富的帮 助信息,同时也提供了获得帮助的方法。首先,可以通过桌面平台的【Help】菜单来 获得帮助,也可以通过工具栏的帮助选项获得帮助。此外,MATLAB 也提供了在命令 窗口中的获得帮助的多种方法,在命令窗口中获得 MATLAB 帮助的命令及说明列于表 3-1 中。其调用格式为: 命令+指定参数 表 3-1 命 令 说 明 doc 在帮助浏览器中显示指定函数的参考信息 help 在命令窗口中显示 M 文件帮助 helpbrowser 打开帮助浏览器,无参数 helpwin 打开帮助浏览器,并且见初始界面置于 MATLAB 函数的 M 文件 帮助信息 lookfor 在命令窗口中显示具有指定参数特征函数的 M 文件帮助 web 显示指定的网络页面,默认为 MATLAB 帮助浏览器

例如: SIN(X) is the sine of the elements of X Help sym/sin.m 另外也可以通过在组件平台中调用演示模型(demo)来获得特殊帮助, 33数据交换系统 MATLAB提供了多种方法将数据从磁盘或剪贴板中读入 MATLAB工作空间。具 体的读写方法可依据用户的喜好以及数据的类型来选择。这里主要介绍文本数据的读 对于文本数据(ASCI)而言,最简单的读入方法就是通过 MATLAB的数据输入 向导( Import Wizard),也可以通过 MATLAB函数实现数据读入 例如,对于文本文件 test. txt: Mathmatics ang 89 下面通过上述两种方法将该文件数据读入 MATLAB工作空间,先介绍 MATLAB 数据交换系统对文本数据的识别。此时文件的前几行(此处为“ students’ scores”)将被 识别为文件头,文件头可以为一行或几行,也可以识别出数据的列头(此处为 English"、“ Chinese”、和“ Mathmatics”)和行头(此处为“wang”、“i”、“ zhang 和“zhao”),其余的为可分断数据(此处为“99”、“98”和“100”等 首先是通过数据输入向导编辑器读入数据,通过桌面平台上的【Fl】菜单中的 【 Import Data】选项打开输入向导编辑器,按向导提示进行操作完成整个文本数据的 输入,则用户可以在 MATLAB开发环境中使用该文本数据。 例如: >>whos Size Bytes Class 96 double array Grand total is 12 elements using 96 bytes

例如: >>help sin SIN Sine SIN(X) is the sine of the elements of X Overloaded methods Help sym/sin.m 另外也可以通过在组件平台中调用演示模型(demo)来获得特殊帮助。 3.3 数据交换系统 MATLAB 提供了多种方法将数据从磁盘或剪贴板中读入 MATLAB 工作空间。具 体的读写方法可依据用户的喜好以及数据的类型来选择。这里主要介绍文本数据的读 入。 对于文本数据(ASCII)而言,最简单的读入方法就是通过 MATLAB 的数据输入 向导(Import Wizard),也可以通过 MATLAB 函数实现数据读入。 例如,对于文本文件 test.txt: students’ scores English Chinese Mathmatics Wang 99 98 100 Li 98 89 70 Zhang 80 90 97 Zhao 77 65 87 下面通过上述两种方法将该文件数据读入 MATLAB 工作空间,先介绍 MATLAB 数据交换系统对文本数据的识别。此时文件的前几行(此处为“students’ scores”)将被 识别为文件头,文件头可以为一行或几行,也可以识别出数据的列头(此处为: “English”、“Chinese”、和“Mathmatics”)和行头(此处为“wang”、“li”、“zhang” 和“zhao”),其余的为可分断数据(此处为“99”、“98”、和“100”等)。 首先是通过数据输入向导编辑器读入数据,通过桌面平台上的【File】菜单中的 【Import Data】选项打开输入向导编辑器,按向导提示进行操作完成整个文本数据的 输入,则用户可以在 MATLAB 开发环境中使用该文本数据。 例如: >>whos Name Size Bytes Class Data 4  3 96 double array Grand total is 12 elements using 96 bytes

>>Data Data= 9998100 Whos”用于显示当前 MATLAB工作空间的变量,而在命令窗口中输入data后,将 显示该数据。在命令窗口或M文件中调用相应的函数也可以实现数据的读入 例如 >>[ab,c,d= -textread( text txt,“%s%s%s%s; headlines,2)(读者可亲自上机 看结果)

>>Data Data = 99 98 100 98 89 70 80 90 97 77 65 87 “whos”用于显示当前 MATLAB 工作空间的变量,而在命令窗口中输入 data 后,将 显示该数据。在命令窗口或 M 文件中调用相应的函数也可以实现数据的读入。 例如: >> [a,b,c,d]=textread(‘text.txt’, ‘%s %s %s %s’, ‘headlines’, 2) (读者可亲自上机 看结果)

§4 MATLAB数值计算功能 MA∏LAB强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是 MATLAB 软件的基础。本节将简要介绍 MATLAB的数据类型、矩阵的建立及运算 41 MATLAB数据类型 MATLAB的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据 等,限于篇幅我们将重点介绍其中几个常用类型。 4.11变量与常量 变量是任何程序设计语言的基本要素之一, MATLAB语言当然也不例外。与常规 的程序设计语言不同的 MATLAB并不要求事先对所使用的变量进行声明,也不需要指 定变量类型, MATLAB语言会自动依据所赋予变量的值或对变量所进行的操作来识别 变量的类型。在赋值过程中如果赋值变量已存在时, MATLAB语言将使用新值代替旧 值,并以新值类型代替旧值类型。 在 MATLAB语言中变量的命名应遵循如下规则 (1)变量名区分大小写。 (2)变量名长度不超31位,第31个字符之后的字符将被 MATLAB语言所忽略 (3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点 与其他的程序设计语言相同,在 MATLAB语言中也存在变量作用域的问题。在未加特 殊说明的情况下, MATLAB语言将所识别的一切变量视为局部变量,即仅在其使用的 M文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前 加关键字 global一般来说全局变量均用大写的英文字符表示 MATLAB语言本身也具有一些预定义的变量,这些特殊的变量称为常量。表4-1 给出了 MATLAB语言中经常使用的一些常量值 表4-1 表示数值 常N 圆周率 浮点运算的相对精度 正无穷大 realmax 最大的浮点数 i,j虚数单位 在 MATLAB语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果 已改变了某外常量的值,可以通过“ clear+常量名”命令恢复该常量的初始设定值(当 然,也可通过重新启动MA∏LAB系统来恢复这些常量值)

§4 MATLAB 数值计算功能 MATLAB 强大的数值计算功能使其在诸多数学计算软件中傲视群雄,是 MATLAB 软件的基础。本节将简要介绍 MATLAB 的数据类型、矩阵的建立及运算。 4.1 MATLAB 数据类型 MATLAB 的数据类型主要包括:数字、字符串、矩阵、单元型数据及结构型数据 等,限于篇幅我们将重点介绍其中几个常用类型。 4.1.1 变量与常量 变量是任何程序设计语言的基本要素之一,MATLAB 语言当然也不例外。与常规 的程序设计语言不同的 MATLAB 并不要求事先对所使用的变量进行声明,也不需要指 定变量类型,MATLAB 语言会自动依据所赋予变量的值或对变量所进行的操作来识别 变量的类型。在赋值过程中如果赋值变量已存在时,MATLAB 语言将使用新值代替旧 值,并以新值类型代替旧值类型。 在 MATLAB 语言中变量的命名应遵循如下规则: (1)变量名区分大小写。 (2)变量名长度不超 31 位,第 31 个字符之后的字符将被 MATLAB 语言所忽略。 (3)变量名以字母开头,可以是字母、数字、下划线组成,但不能使用标点。 与其他的程序设计语言相同,在 MATLAB 语言中也存在变量作用域的问题。在未加特 殊说明的情况下,MATLAB 语言将所识别的一切变量视为局部变量,即仅在其使用的 M 文件内有效。若要将变量定义为全局变量,则应当对变量进行说明,即在该变量前 加关键字 global。一般来说全局变量均用大写的英文字符表示。 MATLAB 语言本身也具有一些预定义的变量,这些特殊的变量称为常量。表 4-1 给出了 MATLAB 语言中经常使用的一些常量值。 表 4-1 常 量 表 示 数 值 pi 圆周率 eps 浮点运算的相对精度 inf 正无穷大 NaN 表示不定值 realmax 最大的浮点数 i, j 虚数单位 在 MATLAB 语言中,定义变量时应避免与常量名重复,以防改变这些常量的值,如果 已改变了某外常量的值,可以通过“clear+常量名”命令恢复该常量的初始设定值(当 然,也可通过重新启动 MATLAB 系统来恢复这些常量值)

4.12数字变量的运算及显示格式 MALAB是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。为了 更好地学习和掌握矩阵的运算,首先对数字的基本知识作简单的介绍。 对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算 和3的乘积再加1时,可以直接输入 >>1+2*3 ans- 这里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动 赋当前结果给“ans”变量。用户也可以输入 >>a=1+2*3 7 此时系统就把计算结果赋给指定的变量a了。 MA∏LAB语言中数值有多种显示形式,在缺省情况下,若数据为整数,则就以整 数表示;若数据为实数,则以保留小数点后4位的精度近似表示。 MATLAB语言提供 了10种数据显示格式,常用的有下述几种格式: 小数点后4位(系统默认值) 小数点后14位 short e 5位指数形式 15位指数形式 MA∏LAB语言还提供了复数的表达和运算功能。在 MATLAB语言中,复数的基 本单位表示为i或j。在表达简单数数值时虚部的数值与i、j之间可以不使用乘号,但 是如果是表达式,则必须使用乘号以识别虚部符号 41.3字符串 字符和字符串运算是各种高级语言必不可少的部分, MATLAB中的字符串是其进 行符号运算表达式的基本构成单元。 在 MATLAB中,字符串和字符数组基本上是等价的:所有的字符串都用单引号进 行输入或赋值(当然也可以用函数char来生成)。字符串的每个字符(包括空格)都是 字符数组的一个元素。例如: >>S=matrix laboratory matrix laboratory %size查看数组的维数 ans- 另外,由于 MATLAB对字符串的操作与C语言几乎完全相同这里不在赘述

4.1.2 数字变量的运算及显示格式 MALAB 是以矩阵为基本运算单元的,而构成数值矩阵的基本单元是数字。为了 更好地学习和掌握矩阵的运算,首先对数字的基本知识作简单的介绍。 对于简单的数字运算,可以直接在命令窗口中以平常惯用的形式输入,如计算 2 和 3 的乘积再加 1 时,可以直接输入: >> 1+2*3 ans= 7 这里“ans”是指当前的计算结果,若计算时用户没有对表达式设定变量,系统就自动 赋当前结果给“ans”变量。用户也可以输入: >> a=1+2*3 a= 7 此时系统就把计算结果赋给指定的变量 a 了。 MATLAB 语言中数值有多种显示形式,在缺省情况下,若数据为整数,则就以整 数表示;若数据为实数,则以保留小数点后 4 位的精度近似表示。MATLAB 语言提供 了 10 种数据显示格式,常用的有下述几种格式: short 小数点后 4 位(系统默认值) long 小数点后 14 位 short e 5 位指数形式 long e 15 位指数形式 MATLAB 语言还提供了复数的表达和运算功能。在 MATLAB 语言中,复数的基 本单位表示为 i 或 j。在表达简单数数值时虚部的数值与 i、j 之间可以不使用乘号,但 是如果是表达式,则必须使用乘号以识别虚部符号。 4.1.3 字符串 字符和字符串运算是各种高级语言必不可少的部分,MATLAB 中的字符串是其进 行符号运算表达式的基本构成单元。 在 MATLAB 中,字符串和字符数组基本上是等价的;所有的字符串都用单引号进 行输入或赋值(当然也可以用函数 char 来生成)。字符串的每个字符(包括空格)都是 字符数组的一个元素。例如: >>s=’matrix laboratory’; s= matrix laboratory >> size(s) % size 查看数组的维数 ans= 1 17 另外,由于 MATLAB 对字符串的操作与 C 语言几乎完全相同这里不在赘述

42矩阵及其运算 矩阵是 MATLAB数据存储的基本单元,而矩阵的运算是 MATLAB语言的核心, 在 MATLAB语言系统中几乎一切运算均是以对矩阵的操作为基础的。下面重点介绍矩 阵的生成、矩阵的基本运算和矩阵的数组运算 42.1矩阵的生成 直接输入法 从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小 的简单矩阵。在用此方法创建矩阵时,应当注意以下几点 输入矩阵时要以“[]”为其标识符号,矩阵的所有元素必须都在括号内。 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔 矩阵大小不需要预先定义 ●矩阵元素可以是运算表达式。 ●若“[]”中无元素表示空矩阵。 另外,在 MATLAB语言中冒号的作用是最为丰富的。首先,可以用冒号来定义行向量 例如 >>a=1:0.5:4 Columns 1 through 7 2.5 3.5 其次,通过使用冒号,可以截取指定矩阵中的部分。 例如 >>A=123;456;789 >>B=A(1:2,;) 6 通过上例可以看到B是由矩阵A的1到2行和相应的所有列的元素构成的一个新 的矩阵。在这里,冒号代替了矩阵A的所有列。 2.外部文件读入法 MATLAB语言也允许用户调用在 MATLAB环境之外定义的矩阵。可以利用任意

4.2 矩阵及其运算 矩阵是 MATLAB 数据存储的基本单元,而矩阵的运算是 MATLAB 语言的核心, 在 MATLAB 语言系统中几乎一切运算均是以对矩阵的操作为基础的。下面重点介绍矩 阵的生成、矩阵的基本运算和矩阵的数组运算。 4.2.1 矩阵的生成 1. 直接输入法 从键盘上直接输入矩阵是最方便、最常用的创建数值矩阵的方法,尤其适合较小 的简单矩阵。在用此方法创建矩阵时,应当注意以下几点: ● 输入矩阵时要以“[ ]”为其标识符号,矩阵的所有元素必须都在括号内。 ● 矩阵同行元素之间由空格或逗号分隔,行与行之间用分号或回车键分隔。 ● 矩阵大小不需要预先定义。 ● 矩阵元素可以是运算表达式。 ● 若“[ ]”中无元素表示空矩阵。 另外,在 MATLAB 语言中冒号的作用是最为丰富的。首先,可以用冒号来定义行向量。 例如: >> a=1:0.5:4 a= Columns 1 through 7 1 1.5 2 2.5 3 3.5 4 其次,通过使用冒号,可以截取指定矩阵中的部分。 例如: >> A=[1 2 3;4 5 6;7 8 9] A= 1 2 3 4 5 6 7 8 9 >> B=A (1:2, : ) B= 1 2 3 4 5 6 通过上例可以看到 B 是由矩阵 A 的 1 到 2 行和相应的所有列的元素构成的一个新 的矩阵。在这里,冒号代替了矩阵 A 的所有列。 2.外部文件读入法 MATLAB 语言也允许用户调用在 MATLAB 环境之外定义的矩阵。可以利用任意

的文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分断符分开,并按行列布置。 读入矩阵的一种方法可参考3.3节数据交换系统。另外也可以利用load函数,其调用 方法为:Load+文件名[参数 Load函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名 的变量,如果不给定文件名,则将自动认为 matlab. mat文件为操作对象,如果该文件 在MA∏LAB搜索路径中不存在时,系统将会报错 例 事先在记事本中建立文件:1 txt保存) 在 MATLAB命令窗口中输入 >>load datal. txt >> data 123 6 3.特殊矩阵的生成 对于一些比较特殊的矩阵(单位阵、矩阵中含1或0较多),由于其具有特殊的结 构, MATLAB提供了一些函数用于生成这些矩阵。常用的有下面几个 生成m阶全0矩阵 生成m阶单位矩阵 生成m阶全1矩阵 rand(m) 生成m阶均匀分布的随机阵 生成m阶正态分布的随机矩阵 42.2矩阵的基本数学运算 矩阵的基本数学运算包括矩阵的四则运算、与常数的运算、逆运算、行列式运算 秩运算、特征值运算等基本函数运算,这里进行简单介绍 1.四则运算 矩阵的加、减、乘运算符分别为“+ *”,用法与数字运算几乎相同,但计 算时要满足其数学要求(如:同型矩阵才可以加、减)。 在 MATLAB中矩阵的除法有两种形式:左除“\”和右除“/”。在传统的 MATLAB 算法中,右除是先计算矩阵的逆再相乘,而左除则不需要计算逆矩阵直接进行除运算 通常右除要快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。在MA∏LAB6中

的文本编辑器编辑所要使用的矩阵,矩阵元素之间以特定分断符分开,并按行列布置。 读入矩阵的一种方法可参考 3.3 节数据交换系统。另外也可以利用 load 函数,其调用 方法为: Load+文件名[参数] Load 函数将会从文件名所指定的文件中读取数据,并将输入的数据赋给以文件名命名 的变量,如果不给定文件名,则将自动认为 matlab.mat 文件为操作对象,如果该文件 在 MATLAB 搜索路径中不存在时,系统将会报错。 例如: 事先在记事本中建立文件: 1 1 1 (并以 data1.txt 保存) 1 2 3 1 3 6 在 MATLAB 命令窗口中输入: >> load data1.txt >> data1 data1= 1 1 1 1 2 3 1 3 6 3.特殊矩阵的生成 对于一些比较特殊的矩阵(单位阵、矩阵中含 1 或 0 较多),由于其具有特殊的结 构,MATLAB 提供了一些函数用于生成这些矩阵。常用的有下面几个: zeros(m) 生成 m 阶全 0 矩阵 eye(m) 生成 m 阶单位矩阵 ones(m) 生成 m 阶全 1 矩阵 rand(m) 生成 m 阶均匀分布的随机阵 randn(m) 生成 m 阶正态分布的随机矩阵 4.2.2 矩阵的基本数学运算 矩阵的基本数学运算包括矩阵的四则运算、与常数的运算、逆运算、行列式运算、 秩运算、特征值运算等基本函数运算,这里进行简单介绍。 1.四则运算 矩阵的加、减、乘运算符分别为“+,—,*” ,用法与数字运算几乎相同,但计 算时要满足其数学要求(如:同型矩阵才可以加、减)。 在 MATLAB 中矩阵的除法有两种形式:左除“\”和右除“/”。在传统的 MATLAB 算法中,右除是先计算矩阵的逆再相乘,而左除则不需要计算逆矩阵直接进行除运算。 通常右除要快一点,但左除可避免被除矩阵的奇异性所带来的麻烦。在 MATLAB6 中

点击下载完整版文档(DOC)VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
共35页,可试读12页,点击继续阅读 ↓↓
相关文档

关于我们|帮助中心|下载说明|相关软件|意见反馈|联系我们

Copyright © 2008-现在 cucdc.com 高等教育资讯网 版权所有