第1讲(1)MATLAB的基本知识
matlab第一讲
·
1.2 MATLAB 集成开发环境
如果一个命令行很长,一个物理行之内写不下,可以在第1个物理行之 后加上3个小黑点并按下回车键,然后接着下一个物理行继续写命令的 其他部分。3个小黑点称为续行符,即把下面的物理行看作该行的“逻 辑”继续。 例如:
z=1+1/(1*2)+(1*2*3)+1/(1*2*3*4)+…
系统科学研究所
1.2 MATLAB 集成开发环境
MATLAB的工具栏提供了一些命令按钮和一个当前路径列表框。
2.命令窗口
一般来说,在命令编辑区的一个命令行输入一条命令,命令行以回车 结束。但一个命令行可以输入若干条命令,各命令之间以逗号分隔, 若前一命令后带有分号,则逗号可以省略。例如:
x=720,y=68 x= 720 y=86 x=720;y=86 y=86
1.3MATLAB 的帮助功能
1.3.1帮助界面
进入MATLAB帮助界面可以通过以下3种方法。 单击MATLAB主窗口工具栏中的Help按钮。
在命令窗口中输入”helpwin”、”helpdesk”或“doc”命令。
选择Help菜单中的”MATLAB Help”选项。 1.3.2帮助命令
1.help命令
系统科学研究所
1.2 MATLAB 集成开发环境
检查该命令是否为MATLAB 搜索路径中其他目录下的M文件。 2.设置搜索路径
用户可以将自己的工作目录列入MATLAB搜索路径,从而将用户目录
纳入MATLAB系统统一管理。 (1)用path命令设置搜索路径 (2)用对话框设置搜索路径
·
系统科学研究所
统程序设计语言一样进行程序设计,而且结合MATLAB的数值计算和
第1章 MATLAB入门.pdf_MATLAB信号处理超级学习手册_[共9页]
第1章 MATLAB入门MATLAB是一种用于数值计算、可视化及编程的高级语言和交互式环境。
使用MATLAB,用户可以分析数据、开发算法、创建模型和应用程序。
MATLAB借助编程、工具和内置数学函数,可以探求多种方法,比电子表格或其他传统编程语言更快地求取结果。
它是一种功能强大的科学计算软件。
在使用之前,读者应该对它有一个整体的了解。
本章主要介绍MA TLAB的基本知识,如主要特点、系统安装、基本操作等。
学习目标:1.理解MATLAB的特点。
2.熟悉MATLAB各种平台的窗口。
3.熟练掌握MATLAB的各种基本操作。
4.熟悉MATLAB中M文件的操作。
1.1 MATLAB概述MATLAB是由美国MathWorks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。
它将数值分析、矩阵计算、科学数据可视化以及非线性动态系统的建模和仿真等诸多强大功能集成在一个易于使用的视窗环境中,为科学研究、工程设计以及必须进行有效数值计算的众多科学领域提供了一种全面的解决方案。
1.1.1 什么是MATLABMATLAB提供了一个高性能的数值计算和图形显示的科学和工程计算软件环境。
这种易于使用的MATLAB环境,是由数值分析、矩阵运算、信号处理和图形绘制等组成。
在这种环境下,问题和解答的表达形式(程序)几乎和它们的数学表达式完全一样,而不像传统的编程那样繁杂。
MATLAB的基本数据单位是矩阵,它的指令表达式与数学、工程中常用的形式十分相似,故用MATLAB来解算问题要比用C、FORTRAN等语言完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使其成为一个强大的数学软件。
MATLAB在新的版本中也加入了对C、FORTRAN、C++、Java的支持。
用户可以直接调用它们,也可以将自己编写的实用程序导入到MATLAB函数库中方便自己以后调用。
此外,许多的MATLAB爱好者还编写了一些经典的程序,用户可以直接进行下载使用。
matlab第1章 MATLAB概述
1.3 MATLAB帮助系统
❖ MATLAB的各个版本都为用户提供了非常详细的帮助系统, 可以帮助用户更好的了解和运用MATLAB。因此,不论用户 是否使用过MATLAB,是否熟悉MATLAB,都应该了解和掌 握MATLAB的帮助系统。
一、纯文本帮助
❖ MATLAB的所有命令、函数的M文件都有一个注释区。在该区中用纯文 本形式简要地叙述了该函数的调用格式和输入、输出变量的含义。该帮 助内容最原始,但也最真切可靠。每当MATLAB不同版本中的函数文件 发生变化时,该纯文本帮助也跟着同步更新。所以,纯文本帮助具有独 特的作用。
❖ 用户可以在MATLAB的命令窗口中输入命令“helpbrowser”或“helpdesk”或“doc” 来打开“帮助导航/浏览器”交互界面,如图所示。
1.4 MATLAB的工具箱
❖ 针对各个应用领域中的问题,MATLAB提供了许多实用函数,称为工具 箱函数。
❖ 目前,MATLAB提供了30多个工具箱函数,如信号处理、图像处理、控 制系统、非线性控制设计、鲁棒控制、系统辨识、最优化、神经网络、 模糊系统和小波等。它们提供了各个领域应用问题求解的便利函数,使 系统分析与设计变得更加简捷。
三、帮助导航/浏览器
❖ MATLAB中提供的帮组信息的“导航/浏览器”交互界面是MATLAB5.x以后的版 本的重要改进。这个交互界面主要有帮助导航和帮助浏览器两个部分组成。这个 帮助文件和M文件中的纯文本帮助无关,而是MATLAB专门设置的独立帮助系统。 该系统对MATLAB的功能叙述得全面、系统,而且界面友好,使用方便,是用 户查找帮助的重要途径。
❖ 在MATLAB中,以复数矩阵作为基本编程单元,使矩阵操作变得轻而易举 ❖ MATLAB语句书写简单,表达式的书写如同在稿纸中演算一样,与人们的手工
第一章MATLAB基础知识
第一章MATLAB基础知识1.1 MATLAB开发环境1.MATLAB操作桌面MATLAB4.0以上版本都是在Windows以上环境支持下操作与运行的,因此,这里必须假定读者对Windows有一定的了解和掌握。
本书以Windows98环境,MATLAB6.5版本为例介绍。
书中绝大多数例子在MA TLAB5.3版本中亦能使用.要想进入MATLAB系统,方法有二:(1)在Windows98的桌面上双击MATLAB快捷图标。
(2)单击Windows98的“开始”按钮,再依次单击:程序/MA TLAB/MA TLAB6.5;图1-1MATLAB6.5除保留了传统的命令窗口外,还增加了启动平台窗口、工作空间窗口、命令历史窗口、当前路径窗口等窗口,与新的M文件编辑器和新的在线帮助浏览器等共同构成了MA TLAB6.5的开发环境。
MATLAB的开发环境是MATLAB语言的基础和核心部分,MATLAB语言的全部功能都是在MA TLAB的开发环境中实现的,MA TLAB的仿真工具Simulink、MATLAB的工具箱等其他附加功能的实现也必须使用MATLAB开发环境,因此,掌握MATLAB 的开发环境是掌握MATLAB语言的关键。
启动MA TLAB后,将显示包括命令窗口、启动平台窗口、工作空间窗口、命令历史窗口和当前路径窗口等5个窗口和主菜单组成的操作桌面(图1-1)。
本节对操作桌面的各个窗口作简要介绍,部分窗口的功能和使用将在以后的章节中详细介绍。
操作桌面缺省状态下显示3个窗口,当前路径和工作空间窗口在同一位置显示,可以通过该窗口下方的箭头或窗口标签来切换,命令历史窗口和当前目录窗口在同一位置显示,可以通过该窗口下方窗口标签来切换。
每个窗可以脱离操作桌面独立出来。
也可以通过菜单View来选择显示哪些窗口。
MATLAB还设定了几种特定的窗口布局方式,在View菜单的Desktop Layout选项中,给定了6种布局方式:Default(缺省方式)Command Window Only(只显示命命令窗口方式)Simple(简单方式,只有命令历史窗口和命令窗口)Short History(低命令历史窗口方式)Tall History(高命令历史窗口方式)Five Panel(5个窗口平铺方式)2.MATLAB的通用参数设置MATLAB的通用参数和各功能窗口的参数可以通过主菜单中的file/Preferences项设置,这里先介绍通用参数的设置。
MATLAB 9.8 基础教程 第1章 基础入门
1.1.2 MATLAB系统结构
MATLAB系统由MATAB开发环境、MATLAB数学函数库、MATLAB语言、MATLAB图形处理系统 和MATLAB应用程序接口(API)五大部分构成。
1993年推出了基于PC平台的以Windows为操作系统平台的MATLAB 4.0版;
2006年起,每年推出两个版本,上半年推出的用a标识,下半年推出的用b标识;
2012年9月份开发的MATLAB 8.0(R2012b),采用了全新的视图界面,具有MATLAB和 Simulink的重大更新,可显著提升用户的使用与导航体验,其包括64位和32位两个版本;
Symbolic Math
System Identification
Global Optimization 全局优化工具箱
Text Analytics
Image Acquisition 图像采集工具箱
Image Processing
图象处理工具箱
Instrument Control 仪表控制工具箱
LTE
开发环境
• 一套方便用户使用 的 MATLAB 函 数和 文件工具集,其中 许多工具是图形化 用户接口。它是一 个集成的用户工作 区,允许用户输入 输出数据,并提供 了M文件的集成编 译和调试环境,包 括 MATLAB 桌 面、 命令窗口、M文件 编辑调试器、工作 区浏览器和在线帮 助文档。
数学函数库
• 是数学算法的一个 巨大集合,包括初 等数学的基本算法 和高等数学、线性 代数等学科的复杂 算法等。用户直接 调用其函数就可进 行运算,它是 MATLAB系 统 的基 础组成部分。
第1章matlab基础知识
2.Edit菜单
Undo:取消输入。 Redo:重新输入。 Cut:剪切。 Copy:复制。 Paste:粘贴。 Paste to Workspace:将所选内容粘贴到 工作空间。 Select All:全选。 Delete:删除。 Find:寻找。 Find Files:在指定的文件或路径中寻找。 Clear Command Window:清除命令窗口 中的显示。 Clear Command History:清除命令历史窗 口中的显示。 Clear Workspace:清除工作空间变量。
在命令窗口中运行的命令,都会被保留在Command History(命令历史)窗口中,并且标明指令运行 的日期和时间。
1.3.5 Workspace
用于存储各种变量 和结果的内存空间 ,其中显示了工作 空间中所有变量的 名称、大小、最大 及最小值,可以对 变量进行观察、编 辑、保存和删除等 操作。
(2)直观
程序语言设计符合人们的思维习惯和数学表达方式。 丰富的二、三维图形及动画,对计算结果进行可视化 显示,给用户以直观的认识。 Simulink的仿真环境,省去了用户画图布线的烦恼。
(3)简单
丰富的函数库和工具箱,使用户不必进行具体代码的 编写,只需调用简单的函数指令,就可以执行任务操 作,解决问题。 所有数值对象都默认以双精度浮点类型数组存储,无 须用户进行数据类型的声明和转换。
Save Layout:保存当前布局。 Organize Layout:组织布局。 Command Window:显示或隐藏命令窗口。 Command History:显示或隐藏命令历史窗口。 Current Folder:显示或隐藏当前文件夹。 Workspace:显示或隐藏工作空间。 Help:显示或隐藏帮助。 Profiler:显示或隐藏性能分析器。 File Exchange:用于实现文件的切换。 Editor:显示或隐藏编辑器。 Figures:显示或隐藏图形显示窗口。 Web Browser:打开网络浏览器。 Variable Editor:用于显示变量编辑器。 Comparison Tool:打开对照工具。 Toolbars:显示或隐藏工具栏。 Titles:显示或隐藏窗体标题。
1第一章 Matlab语言概述
(Ⅰ)基础篇第一章 Matlab语言概述§1.语言特点MATLAB是Mathworks公司于20世纪80年代推出的数值计算软件。
得到了广泛的应用。
MATLAB的全称是Mateix Laboratory,意思是矩阵实验室。
它是以矩阵运算为基础的新一代程序语言。
MATLAB是集数学运算、图形处理、程序设计和系统建模为一体的著名编程语言软件,它具有功能强大、使用简单等优点,是进行科学研究和工程实践的有力工具。
与Fortran和C相比,MATLAB语句更简洁、明了,更加符合人们的思维习惯。
并且还具有良好的数据可视化功能。
MATLAB包括两部分:基本部分-主要指数据计算和可视化功能。
扩展部分-主要指工具箱。
§2 基本操作和简单语句输入1. 简单语句输入(简单计算器用法)例1:计算a⨯y÷⨯=(a = 2,b =3,c = 5 )+acbb[程序] 在命令窗口输入>> a=2;b=3;c=5;>> y=a*b+c*b/a 回车[输出] y =13.5000例2:计算64(tan3⨯+45)/2760cos[程序] >> (tan(pi/4)+cos(pi/3))*27^(1/3)/sqrt(64)ans =0.56252. 变量表达式数值(1)变量* matlab语句一般形式为:变量=表达式(或数),若变量和“=”省略,输出时自动建立“ans”默认变量。
* 对大小写敏感,如sqrt(平方根)对,而SQRT,Sqrt全错。
* 变量名第一个字符必须是英文字母,最多可包含31个字符,(含英文、数字、下连符)。
不得包含空格和标点。
* 系统遇到一个新变量名时,它会自动生成变量,若该变量早已存在,系统会自动更新内容。
表1-1 默认预定义变量(永久变量)例3:无穷大的使用>> x =1/0Warning: Divide by zero.x =Inf* 在MATLAB中这样的操作不会引起程序执行中断,只是在给出警告信息的同时,用一个特殊的符号Inf来表示。
第一讲 Matlab基础 for金融生
第一讲Matlab基础for金融生什么是Matlab?MATLAB和Mathematica、Maple并称为三大数学软件。
MATLAB是矩阵实验室(Matrix Laboratory)的简称,是美国MathWorks公司出品的商业数学软件,用于算法开发、数据可视化、数据分析以及数值计算的高级技术计算语言和交互式环境,主要包括MATLAB和Simulink两大部分。
360安全卫士把它归类为编程语言。
其实它既是一个计算工具,又是一种编程语言。
Matlab的应用领域MATLAB 产品族可以用来进行以下各种工作:●数值分析●数值和符号计算●工程与科学绘图●控制系统的设计与仿真●数字图像处理技术●数字信号处理技术●通讯系统设计与仿真●财务与金融工程金融专业学生要求学会使用matlab的金融函数并能编一些简单的程序用于计算金融工程问题。
由于matlab是英文版的,要求有些常见的单词能记下来。
一、Matlab中的数组一维数组(array)就是向量(vector),二维数组就是矩阵(matrix), 三维数组可以看作是由n个矩阵构成的一本书,每个矩阵是其中的一页。
与数组或向量相对应的就是标量(scalar)。
如:a=[1 2 3 4 5]就是向量,而100就是标量。
在matlab中,数组可以直接赋值,而不必像C语言那样先要定义数组。
数组的特征是在赋值符号(=号,注意不是等号)后面有个中括号。
如:name =[‘宋江’,’李逵’,’卢俊义’];注意:①分号表示一句话结束。
在matlab中,如果在一句话后不加分号,会马上输出变量的结果,如果不想要显示这个结果,加快代码的运行,就应该加上分号。
②此处的输出结果是:name =宋江李逵卢俊义可见,字符串向量是按字母/汉字一顺排的。
1. 字符串向量(1)行字符串向量的输出值是按字母顺序不空格排列的。
(2)可以用数组下标法,显示指定元素的值。
如:name(3)=李(注意,不是“卢俊义”)Name(6)=俊(2)如果要表示列字符串向量,可以在中括号中用分号分隔,每个分号表示一行(对于所有向量和矩阵都是这样)。
MATLAB软件基础[1]
MATLAB软件基础§1MATLAB 概述MATLAB 是MATrix LABoratory(“矩阵实验室”)的缩写,是由美国MathWorks 公司开发的集数值计算、符号计算和图形可视化三大基本功能于一体的,功能强大、操作简单的语言。
是国际公认的优秀数学应用软件之一。
20世纪80年代初期,Cleve Moler与John Little等利用C语言开发了新一代的MATLAB语言,此时的MATLAB语言已同时具备了数值计算功能和简单的图形处理功能。
1984年,Cleve Moler与John Little等正式成立了Mathworks公司,把MA TLAB 语言推向市场,并开始了对MA TLAB工具箱等的开发设计。
1993年,Mathworks公司推出了基于个人计算机的MATLAB 4.0版本,到了1997年又推出了MA TLAB 5.X版本(Release 11),并在2000年又推出了最新的MA TLAB 6版本(Release 12)。
现在,MATLAB已经发展成为适合多学科的大型软件,在世界各高校,MA TLAB 已经成为线性代数、数值分析、数理统计、优化方法、自动控制、数字信号处理、动态系统仿真等高级课程的基本教学工具。
特别是最近几年,MATLAB在我国大学生数学建模竞赛中的应用,为参赛者在有限的时间内准确、有效的解决问题提供了有力的保证。
§2 MATLAB的安装与启动2.1 MATLAB的安装要用MATLAB 6,首先必须在计算机上安装MATLAB 6应用软件,随着软件功能的不断完善,MA TLAB对计算机系统配置的要求越来越高。
下面给出安装和运行MATLAB 6 所需要的计算机系统配置。
◆MA TLAB 6对硬件的要求CPU要求:Pentium II、Pentium III、AMD Athlon或者更高;光驱:8倍速以上;内存:至少64MB,但推荐128MB以上;硬盘:视安装方式不同要求不统一,但至少留1GB用于安装(安装后未必有1GB);显卡:8位;◆MA TLAB 6对软件的要求Windows95 、Window98、Windows NT或Windows2000;Word97或word2000等,用于使用MATLAB Notebook;Adobe Acrobat Reader 用于阅读MATLAB的PDF的帮助信息。
第1讲 MATLAB入门
例 利用M文件建立MYMAT矩阵。 (1) 启动有关编辑程序或MATLAB文本编辑 器,并输入待建矩阵: (2) 把输入的内容以纯文本方式存盘(设文件 名为mymatrix.m)。 (3) 在MATLAB命令窗口中输入mymatrix, 即运行该M文件,就会自动建立一个名 为MYMAT的矩阵,可供以后使用。
(3) 若参与逻辑运算的是两个同维矩阵,那 么运算将对矩阵相同位置上的元素按标量 规则逐个进行。最终运算结果是一个与原 矩阵同维的矩阵,其元素由1或0组成。 (4) 若参与逻辑运算的一个是标量,一个是 矩阵,那么运算将在标量与矩阵中的每个 元素之间按标量规则逐个进行。最终运算 结果是一个与矩阵同维的矩阵,其元素由1 或0组成。
行. 输入矩阵时,严格要求所有行有相同的列. 例 m=[1 2 3 4 ;5 6 7 8;9 10 11 12] p=[1 1 1 1 2222
3 3 3 3]
(二)利用M文件建立矩阵 对于比较大且比较复杂的矩阵,可以为 它专门建立一个M文件。下面通过一个 简单例子来说明如何利用M文件创建矩 阵。
1
值
用于结果的缺省变量名
所用函数的输入变量数目 所用函数的输出变量数目 最小可用正实数 最大可用正实数
2、数学运算符号及标点符号
+ — * .* / ./ ^ .^ \ 加法运算,适用于两个数或两个同阶矩阵相加. 减法运算 乘法运算 点乘运算 除法运算 点除运算,同.\ 乘幂运算 点乘幂运算 反斜杠表示左除.
[2]矩阵运算:
矩阵加法:A+B
矩阵乘法:A*B 方阵的行列式:det(A) 方阵的逆:inv(A) 方阵的伪逆:pinv(A)
MATLAB (matrix3)
方阵的特征值与特征向量:[V,D]=eig[A]
一MATLAB概述
Fuzzy Logic:模糊逻辑
Nerual NetWork:神经网络
Symbolic Math:符号数学
5
Hale Waihona Puke (2)MATLAB旳桌面环境
Command window:命令窗口 Workspace:工作空间 Current Directory:目前途径 Command History:历史命令 Launch Pad:公布平台
Stateflow Coder:自动代码生成
4
经典工具箱:
Signal processing:信号处理
Image processing:图像处理
Communication:通信
Wavlet:小波
Filter Design:滤波器设计
Control System:控制系统
System Identification:系统辨识
一 MATLAB概述
主要内容: (1)MATLAB发展历史和产品族简介 (2)MATLAB旳桌面环境 (3)MATLAB旳主要功能 (4)MATLAB通用指令(要点) (5)MATLAB帮助系统
1
(1) MATLAB发展历史和产品族简介
MATLAB源于美国Cleve Moler博士开发旳 两个线性代数软件包EISPACK和LINPACK, 随即,Cleve Moler博士与其别人合作开办了 Mathworks企业,推动了MATLAB旳迅速发展。 如今已成为一种集数值计算、符号计算、图形 系统以及多种专业工具箱与一体旳高级语言。
下载地址:
❖功能强大,操作简朴!
2
MATLAB发展历史 1984年,MATLAB第1版(DOS版) 1992年,MATLAB4.0版 1994年,MATLAB 4.2版 1997年,MATLAB 5.0版 1999年,MATLAB 5.3版 2023年,MATLAB 6.0版 2023年,MATLAB 6.1版 2023年,MATLAB 6.5版 2023年9月, 版 2023年6月,MATLAB 7.0版 2023年9月, 版 2023年3月, 版 2023年9月, MATLAB7.1版 2023年3月, MATLAB7.2版 2023年9月, MATLAB7.3版 2023年3月,MATLAB7.4版
清华大学MATLAB课件 第一讲
3
MATLAB的应用示例介绍
展示MATLAB在国内外大型工程项目中的应用,包括航天、交通、能源等领域。
3
MATLAB的特点和优势
易于使用,支持多种编程语言,还拥有强大的作图功能。
MATLAB的基本操作
MA窗口、菜 单等组成部分,具备基本 操作技能。
MATLAB的基本数据 类型
包括字符串、矩阵、向量、 结构体等数据类型,熟练 掌握。
MATLAB的基本矩阵 操作
矩阵的创建、变换、运算 等操作,是进行数学模拟 的基础。
清华大学MATLAB课件 第 一讲
欢迎来到清华大学MATLAB课件!本系列课程将为您介绍MATLAB的基本操 作、语法、图形化界面、编程与应用、相关工具、扩展与发展等方面的知识 点。
MATLAB简介
1
MATLAB的发展历史
诞生于20世纪80年代,经历多次迭代升级。
2
MATLAB的应用领域
广泛应用于科学计算及工程领域,特别擅长进行大规模数学计算。
MATLAB的应用实例
通过几个常见的案例,掌握MATLAB在实际工程中的应用。
MATLAB编程的注意事项
良好的代码习惯,遵循MATLAB编程规范,是提高编程效率的关键。
MATLAB的相关工具
MATLAB的相关工具介绍
各种工具箱的功能和使用说明, 如图像处理、信号处理、控制 系统等。
MATLAB的调试和优化工 具
MATLAB的基本语法
MATLAB的变量和语句
变量命名、赋值、调用等基础 语法。
MATLAB的运算符和表达 式
包括算术、比较、逻辑、位运 算符等。
MATLAB的控制结构
If、for、while等基本控制语句, 是进行编程的必备工具。
MATLAB入门教程)1.MATLAB的基本知识
1-1、基本运算与函数在MATLAB下进行基本数学运算,只需将运算式直接打入提示号(>>)之後,并按入Enter 键即可。
例如:>> (5*2+1.3-0.8)*10/25ans =4.2000MATLAB会将运算结果直接存入一变数ans,代表MATLAB运算後的答案(Answer)并显示其数值於萤幕上。
小提示:">>"是MATLAB的提示符号(Prompt),但在PC中文视窗系统下,由於编码方式不同,此提示符号常会消失不见,但这并不会影响到MATLAB的运算结果。
我们也可将上述运算式的结果设定给另一个变数x:x = (5*2+1.3-0.8)*10^2/25x = 42此时MATLAB会直接显示x的值。
由上例可知,MATLAB认识所有一般常用到的加(+)、减(-)、乘(*)、除(/)的数学运算符号,以及幂次运算(^)。
小提示:MATLAB将所有变数均存成double的形式,所以不需经过变数宣告(Variable declaration)。
MATLAB同时也会自动进行记忆体的使用和回收,而不必像C语言,必须由使用者一一指定.这些功能使的MATLAB易学易用,使用者可专心致力於撰写程式,而不必被软体枝节问题所干扰。
若不想让MATLAB每次都显示运算结果,只需在运算式最後加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2);若要显示变数y的值,直接键入y即可:>>yy =-0.0045在上例中,sin是正弦函数,exp是指数函数,这些都是MATLAB常用到的数学函数。
下表即为MATLAB常用的基本数学函数及三角函数:小整理:MATLAB常用的基本数学函数abs(x):纯量的绝对值或向量的长度angle(z):复数z的相角(Phase angle)sqrt(x):开平方real(z):复数z的实部imag(z):复数z的虚部conj(z):复数z的共轭复数round(x):四舍五入至最近整数fix(x):无论正负,舍去小数至最近整数floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rat(x):将实数x化为分数表示rats(x):将实数x化为多项分数展开sign(x):符号函数(Signum function)。
第1讲_MATLAB基础知识
2.2 数值、变量和表达式
2、特殊变量名 ,由系统使用,不能用的(如使用会造成混乱)
ans pi 默认的结果变量 圆周率
eps
inf NaN
计算机中的最小数
无穷大 不定数
i(j)
nargin nargout realmin realmax varargin varargout
复数中的虚数单位
所用函数的输入变量数目 所用函数的输出变量数目 最小正实数 最大正实数 函数输入的变量中,可变变量的输入个数 可变的函数输出个数
Format short e 5位浮点表示,所谓的科学计数法
Format long e
15位浮点表示,同上
Format short g 5位浮点和定点之间选择 Format long g 15位定点表示,显示到小数点后第14位
2.2 数值、变量和表达式
1、命名规则 由字母、下划线及数字组成 • 以字母打头 • 区分大小写 • 不超过63个字符,多的字符串将被忽略 合法命名:a, a113, Abs123_ce, abs123_ce
1.2 运行环境介绍
4 命令历史窗口
1.2.1 MATLAB中的窗口
显示所有执行过的命令,一方面查看执行过的命令,另一 方面可重复利用原来的命令。
1.2 运行环境介绍
5 当前目录窗口
1.2.1 MATLAB中的窗口
显示当前目录下的所有文件的文件名、文件类型和最后修 改时间。
1.2 运行环境介绍
1、命令行运行方式:直接在命令行中输入命令 2、M文件运行方式:将命令集写到M文件中,通过执行 M文件来执行一批命令命令窗口(Command Window) 区别:两者的执行效果一样,M文件可以进行调试及重复 调用。
MATLAB第一章MATLAB操作基础
绘图功能
利用MATLAB绘图十分方便,它既可以绘制各种图形(包 括二维图形和三维图形),还可以对图形进行修饰和控制,以 增强图形的表现效果。
编程语言
MATLAB具有程序结构控制、函数调用、数据结构、输入 输出、面向对象等程序语言特征,所以可以使用MATLAB进行 程序设计,而且简单易学、编程效率高。因此,对于从事数值 计算、计算机辅助设计和系统仿真等领域的人员来说,用 MLAB编程的确是一个理想的选择。
MATLAB 工具箱
MATLAB包含两部分内容:基本部分和各种可选的工 具箱。
1.3 初识MATLAB
例 1-1 绘制函数 y=2sin(1+x)的图像,并计算当 x=0.5 时的函数 值。
x=(1:0.1:10); %给出自变量 x
的定义域
y=2*sin(1+x); %写出函数形
式
plot(x,y)
%绘出函数图形
y=2*sin(1+0.5) %求当 x=0.5
时的 y 值,其
后不加分号,
直接在窗口中
给出结果
y =1.9950
%输出 y 的计
算结果
例 1-2 绘制函数 y=3x3-10x2+5x-8的图像
for i=1:100 x(i)=0.1*i; y(i)=3*x(i)^310*x(i)^2+5*x(i)-8;
end plot(x,y)
例 1-3 求方程 3x4 7x3 9x2 23 0 的根
(2)开发了与外部进行直接数据交换的组件,打通了MATLAB 进行实时数据分析、处理和硬件开发的道路。
第1章 MATLAB操作基础
matlab从2009开始,大幅度提升运行速度。 matlab的版本号有两种表示方法,一种是年份,每年 更新两次,上半年为年份+a,下半年为年份+b,还有 一种是matlab7.x,如matlab 7.8是matlab2009a , matlab2010b 的版本号是MATLAB 7.11, 发布时期 是2010.9.3。
二维、三维图形显示,图像处理、动画显示等。 5.Matlab应用程序接(API)
与C、Fortran、VB之间实现接口调用,一般采用动 态链接库方法(DLL)实现。
2020年3月16日星期一
三、 MATLAB工具箱(Toolbox)
1.控制类工具箱 控制系统工具箱: Control Systems Toolbox 系统辨识工具箱:System Identification Toolbox 鲁棒控制工具箱:Robust Control Toolbox
4.其它常用工具箱 符号数学工具箱:Symbolic Math Toolbox 虚拟现实工具箱:Virtual Reality Toolbox
2020年3月16日星期一
1.2 MATLAB的运行环境与安装
一、MATLAB的运行环境
硬件环境: (1) CPU (2) 内存 (3) 硬盘 (4) CD-ROM驱动器和鼠标。 软件环境: (1) Windows 98/NT/2000 或Windows XP (2) 其他软件根据需要选用
2.应用数学工具箱 最优工具箱:Optimization Toolbox 统计工具箱:Statistics Toolbox 偏微分方程工具箱:Partial Differential Equation Toolbox
1-Matlab基本介绍
文件名是要以字母开头中间不含空格和标点 符号的字符串;不能用汉字、数字和专用变量 名作为文件名,如1,11,pi,ans,eps等。
16
设置个性化路径
(1)程序通常保存在文件夹:\matlab\work中, 此为matlab的默认路径。 (2)程序若要放在其他路径中,则要添加该路径 到matlab的路径设置中,否则程序不能执行。
acot(x) log(x)
x的反正切 x的余切
x的反余切 x的自然对数
cos(x)
asin(x)
x的余弦
x的反正弦
log10(x)
sinh(x)
x的常用对数
双曲正弦
acos(x)
tan(x)
x的反余弦
x的正切
cosh(x)
双曲余弦
22
特殊函数
函数名 含义
计算m除以n 的余数
函数名
含义
取超过x的最 近整数
30
二、数值函数运算
2
什么是数学建模?
数学模型(Mathematical Model)是用数学符号对一类 实际问题或实际发生的现象的(近似的)描述. 数学建模(Mathematical Modeling)则是获得该模型 并对之求解、验证并得到结论的全过程. 数学建模不仅是揭示、了解基本规律, 而且从应用的 观点来看更重要的是预测和控制所建模的系统的行为 的强有力的工具. 数学问题 = 建立数学模型 + 求解数学模型 合理假设、建立模型、 求解模型、解释验证. 记住这12(16)个字, 将会终生受用.
24
⑤有了变量,就可以组成表达式,也就可以对变量 进行赋值。MATLAB的赋值语句有两种形式。
● 变量名=表达式 ● 表达式 在第一种情况下, MATLAB 将右边的表达式的值赋 值给左边的变量,在第二种情况, MATLAB 将表达 式的值赋值给系统变量ans。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
11—1 MATLAB 的基本知识21-1-1、 基本运算与函数1-1-2、循环命令1-1-3、逻辑命令1-1-4、集合多个命令于一个M 文件1-1-5、搜寻路径1-1-6、资料的储存与载入1-1-7 MATLAB 编程技巧附录1-73启动方式:命令窗口;在窗口内的命令编辑;图形窗口;图形窗口中图形的复制基本处理对象:矩阵(包含标量,以及向量)变量名:以字母开头,不超过31个字符命令行(以;结尾或不以;结尾):执行一个matlab 命令(例如赋值语句),或执行一个函数注释说明行:以%开头1-1-1、 基本运算与函数4在MATLAB 下进行基本数学运算,只需将运算式直接打入提示符(>>)之后,并按入Enter 键即可. 例如:>>(5*2+1.3-0.8)*10/25 ans = 4.20005MATLAB 会将运算结果直接存入一变量ans ,代表MATLAB 运算后的答案,并显示其数值于屏幕上.(为简便起见,在下述各例中,我们不再显示MATLAB 的提示号.)我们也可将上述运算式的结果设定给另一个变量x :6x = (5*2+1.3-0.8)*10^2/25此时MATLAB 会直接显示x 的值. 由上例可知,MATLAB 认识所有一般常用到的加(+)、减(-)、乘(*)、除(/与\)的数学运算符号,以及幂次运算(^).x = 427小提示:MATLAB 将所有变量均存成为double 的形式,所以不需经过变元说明. MATLAB 同时也会自动进行变量的使用和回收,而不必像C 语言,必须由使用者一一指定. 这些功能使得MATLAB 易学易用,使用者可专心致力于编写程序,而不必被软件枝节问题所干扰.8若不想让MATLAB 每次都显示运算结果,只需在运算式最后加上分号(;)即可,如下例:y = sin(10)*exp(-0.3*4^2);若要显示变量y 的值,直接键入y 即可:y = -0.0045y 9在上例中,sin 是正弦函数,exp 是指数函数,这些都是MATLAB 常用到的数学函数. 下表即为MATLAB 常用的基本数学函数及三角函数:abs(x):绝对值angle(z):复数z 的相角(Phase angle) sqrt(x):平方根 real(z):复数z 的实部 imag(z):复数z 的虚部 conj(z):复数z 的共轭复数10sign(x):符号函数 (Signum function). round(x):四舍五入至最近整数 fix(x):无论正负,舍去小数至最近整数 floor(x):地板函数,即舍去正小数至最近整数ceil(x):天花板函数,即加入正小数至最近整数rats(x):将实数x 化为分数表示 rat(x):将实数x 化为多项分数展开11rem(x,y):求x 除以y 的余数 gcd(x,y):整数x 和y 的最大公因数 lcm(x,y):整数x 和y 的最小公倍数 exp(x):自然指数 pow2(x):2的指数log(x):以e 为底的对数,即自然对数或 log2(x):以2为底的对数 log10(x):以10为底的对数12sin(x):正弦函数 cos(x):余弦函数 tan(x):正切函数 asin(x):反正弦函数 acos(x):反余弦函数 atan(x):反正切函数atan2(x,y):四象限的反正切函数13变量也可用来存放向量或矩阵,并进行各种运算,如下例的行向量(Row vector )运算:x = [1 3 5 2]; y = 2*x+1y =3 7 11 514可以随意更改、增加或删除向量的元素:y(3) = 2 % 更改第三个元素y = 3 7 2 5y(6) = 10 % 加入第六个元素y =3 7 2 5 0 1015y(4) = [] % 删除第四个元素,y =3 7 2 0 10在上例中,MATLAB 会忽略所有在百分比符号(%)之后的文字,因此百分比之后的文字均可视为程序注释.16MATLAB 亦可取出向量的一个元素或一部份来做运算:x(2)*3+y(4)% 取出x 的第二个元素和y 的第四个元素来做运算ans = 9y(2:4)-1 % 取出y 的第二至第四个元素来做运算ans = 6 1 -117在上例中,2:4代表一个由2、3、4组成的向量,同样的方法可用于产生公差为1的等差数列:x = 7:16x =7 8 9 10 11 12 13 14 15 1618若不希望公差为1,则可将所需公差直接至于7与16之间:x = 7:3:16 % 公差为3的等差数列x =7 10 13 1619事实上,我们可利用linspace 来产生任意的等差数列:x = linspace(4, 10, 6) % 等差数列:首项为4, 末项为10, 项数为6x =4.00005.20006.40007.60008.8000 10.000020若对MATLAB 函数用法有疑问,可随时使用help 来寻求on-line help :help linspace21MATLAB 的查询命令help :用来查询已知命令的用法. 如已知inv 是用来计算逆矩阵,键入help inv 即可得知有关inv 命令的用法.(键入help help 则显示help 的用法,请试看看!)lookfor :用来寻找未知的命令. 例如要寻找计算逆矩阵的命令,可键入lookfor inverse ,MATLAB 即会列出所有和关键字inverse 相关的指令. 找到所需的命令后,即可用help 进一步找出其用法.(lookfor 事实上是对所有在搜寻路径下的M 文档进行关键字对第一注释进行对比,详见以下.)22Tab :当不确定函数名的拼法时,可在指令窗口输入模糊函数名,双击Tab 键.23将列向量转置(Transpose )后,即可得到行向量:z = x'z = 4.0000 5.2000 6.4000 7.6000 8.8000 10.000024不论是行向量或列向量,我们均可用相同的函数找出元素个数、最大值、最小值等:length(z) % z 的元素个数ans = 6max(z) % z 的最大值ans = 1025min(z) % z 的最小值 ans = 426适用于向量的常用函数有:min(x): 向量x 的元素的最小值 max(x): 向量x 的元素的最大值 mean(x): 向量x 的元素的平均值 median(x): 向量x 的元素的中位数 std(x): 向量x 的元素的标准差 diff(x): 向量x 的相邻元素的差27sort(x): 对向量x 的元素进行排序(Sorting ) length(x): 向量x 的元素个数norm(x): 向量x 的欧氏(Euclidean )长度 sum(x): 向量x 的元素总和 prod(x): 向量x 的元素总乘积 cumsum(x): 向量x 的累计元素总和 cumprod(x): 向量x 的累计元素总乘积 dot(x, y): 向量x 和y 的内积 cross(x, y): 向量x 和y 的外积28若要输入矩阵,则必须在每一行结尾加上分号(;),如下例:A = [1 2 3 4; 5 6 7 8; 9 10 11 12];AA = 1 2 3 4 5 6 7 8 9 10 11 1229同样地,我们可以对矩阵进行各种处理:A(2,3) = 5 % 改变位于第二行,第三列的元素值A =1 2 3 4 5 6 5 8 9 10 11 1230B = A(2,1:3) % 取出部份矩阵BB = 5 6 5A = [A B'] % 将B 转置后以行向量并入AA = 1 2 3 4 5 5 6 5 8 6 9 10 11 12 531A(:, 2) = [] % 删除第二列(:代表所有行)A = 1 3 4 5 5 5 8 6 9 11 12 5A = [A; 4 3 2 1] % 加入第四行A = 1 3 4 5 5 5 8 6 9 11 12 5 4 3 2 132A([1 4], :) = [] % 删除第一和第四行(:代表所有列)A = 5 5 8 6 9 11 12 533MATLAB 可在同时执行数个命令,只要以逗号或分号将命令隔开:x = sin(pi/3); y = x^2; z = y*10,z = 7.5000若一个数学运算是太长,可用三个句点将其延伸到下一行:z = 10*sin(pi/3)* ... sin(pi/3);34矩阵函数1. 三角分解:[l,u]=lu(a) %a=lu2. 正交分解:[q,r]=qr(a) %a=qr3. 奇异值分解:[u,s,v]=svd(a) %a=usv’4. 特征值分解:[v,d]=eig(a) %a=vdv^(-1)355. 矩阵范数:norm(a) 6. 矩阵的秩:rank(a) 7. 条件数:cond(a) 8. 数值积分:quad9. 非线性方程和优化函数fmin fmins fzero36若要检视现存于工作空间(Workspace )的变量,可键入who :who这些是由使用者定义的变量. 若要知道这些变量的详细资料,可键入: whos37Name Size Bytes Class A 2x4 64 double array B 4x2 64 double array ans 1x1 8 double array x 1x1 8 double array y 1x1 8 double array z 1x1 8 double arrayGrand total is 20 elements using 160 bytes38使用clear 可以删除工作空间的变量:clear AA??? Undefined function or variable 'A'.39MATLAB 有些永久常数(Permanent constants ),虽然在工作空间中看不到,但使用者可直接取用,例如:pians = 3.141640MATLAB 的永久常数i 或j :基本虚数单位eps :系统的浮点(Floating-point )精确度 inf :无限大, 例如1/0nan 或NaN :非数值(Not a number ),例如0/0pi :圆周率 p (= 3.1415926...) realmax :系统所能表示的最大数值 realmin :系统所能表示的最小数值 nargin: 函数的输入变量个数nargout: 函数的输出引数变量个数411-1-2、循环命令最简单的循环命令是for 循环(for-loop ),其基本形式为:for 变量 = 矩阵;运算式; end42其中变量的值会被依次设定为矩阵的每一行,来执行介于for 和end 之间的运算式. 因此,若无意外情况,运算式执行的次数会等于矩阵的行数. 举例来说,下列命令会产生一个长度为6的调和数列(Harmonic sequence ):x = zeros(1,6); % x 是一个6的零矩阵for i = 1:6, x(i) = 1/i; end43在上例中,矩阵x 最初是一个6的零矩阵,在for 循环中,变量i 的值依次是1到6,因此矩阵x 的第i 个元素的值依次被设为1/i. 可用分数来显示此数列:format rat % 使用分数来表示数值disp(x)1 1/2 1/3 1/4 1/5 1/644for 循环可以是多层的,下例产生一个16的Hilbert 矩阵h ,其中为于第i 列、第j 行的元素为:h = zeros(6);for i = 1:6, for j = 1:6, h(i,j) = 1/(i+j-1); end enddisp(h)451 1/2 1/3 1/4 1/5 1/6 1/2 1/3 1/4 1/5 1/6 1/7 1/3 1/4 1/5 1/6 1/7 1/8 1/4 1/5 1/6 1/7 1/8 1/9 1/5 1/6 1/7 1/8 1/9 1/10 1/6 1/7 1/8 1/9 1/10 1/1146小技巧:在上面的例子,我们使用zeros 来预先配置(Allocate )了一个适当大小的矩阵. 若不预先配置矩阵,程序仍可执行,但此时MATLAB 需要动态地增加(或减小)矩阵的大小,因而降低程序的执行效率. 所以在使用一个矩阵时,若能在事前知道其大小,则最好先使用zeros 或ones 等命令来预先配置所需的记忆体(即矩阵)大小.在下例中,for 循环列出先前产生的Hilbert 矩阵的每一行的平方和:47for i =1:6,disp(norm(h(i,:))^2); %显示出每一行的平方和 end1299/871 282/551 650/2343 524/2933 559/4431 831/880148常用到的另一个循环命令是while 循环,其基本形式为:while 条件式; 运算式; end也就是说,只要条件示成立,运算式就会一再被执行. 例如先前产生调和数列的例子,我们可用while 循环改写如下:49x = zeros(1,6); % x 是一个16的零矩阵 i = 1;while i <= 6, x(i) = 1/i; i = i+1; endformat short501-1-3、逻辑命令最简单的逻辑命令是if, ..., end ,其基本形式为:if 条件式; 运算式; end51Given random number is greater than 0.5.if rand(1,1) > 0.5, disp('Given random number is greater than 0.5.'); end521-1-4、集合多个命令于一个M 文件若要一次执行大量的MATLAB 命令,可将这些命令存放于一个扩展名为m 的文件,并在MATLAB 提示符号下键入此文件的文件名即可. 这种包含MATLAB 命令的文件都以m 为扩展名,因此通称M 文件(M-files ). 例如一个名为test.m 的M 文件,包含一连串的MATLAB 命令,那么只要直接键入test ,即可执行其所包含的命令:53pwd % 显示现在的目录ans =c:\matlab6p1\workcd c:\matlab6p1\test %进入test1_2.m 所在的目录type test.m % 显示test.m 的内容54% This is a test M-file.% Guo Li, Auguest 20, 2007 fprintf('Start !\n'); for i = 1:3;fprintf('i = %d ---> i^3 = %d\n', i, i^3); endfprintf('End !\n');test1_2 % 执行test.mStart !i = 1 ---> i^3 = 1 i = 2 ---> i^3 = 8 i = 3 ---> i^3 = 27 End !55第一注释行(H1 help line )test.m 的前两行是注释,可以使程序易于了解与管理. 特别要说明的是,第一注释行通常用来简短说明此M 文档的功能,以便lookfor 能以关键字对比的方式来找出此M 文件. 举例来说,test1_2.m 的第一注释行包含test 这个字,因此如果键入lookfor test ,MATLAB 即可列出所有在第一注释行包含test 的M 文档,因而test1_2.m 也会被列名在内.56严格来说,M 文档可再细分为脚本文件(Scripts )及函数(Functions )文件.上述的test1_2.m 即为命令集,其效用和将命令逐一输入完全一样,因此在命令集可以直接使用工作空间的变量,而且在命令集中设定的变量,也都在工作空间中看得到.脚本文件由一系列MATLAB 语句组成,MATLAB 自动执行,中间没有交互式的要求数据都是全局数据57 可以传递参数; 变量是局部的;扩充了MATLAB 的功能;可以像其它标准库函数一样执行function [输出参数列]=函数名(输入参数列)58函数则需要用到输入参数(Input arguments )和输出参数(Output arguments )来传递信息,这就像是C 语言的函数,或是FORTRAN 语言的子程序(Subroutines ).举例来说,若要计算一个正整数的阶乘(Factorial ),我们可以写一个如下的MATLAB 函数并将之存档于fact.m :59function output = fact(n)% FACT Calculate factorial of a given positive integer. output = 1; for i = 1:n ; output = output*i; end其中fact 是函数名,n 是输入参数,output 是输出参数,而i 则是此函数用到的临时变量. 要使用此函数,直接键入函数名及适当输入参数值即可:60y = fact(5)y = 12061在执行fact(5)时,MATLAB 会跳入一个下层的临时工作空间(Temperary workspace ),将变量n 的值设定为5,然后进行各项函数的内部运算,所有内部运算所产生的变量(包含输入参数n 、暂时变量i ,以及输出参数output )都存在此临时工作空间中. 运算完毕后,MATLAB 会将最后输出参数output 的值传给上层的变量y ,并将清除此临时工作空间及其所含的所有变量. 换句话说,在调用函数时,你只能经由输入参数来控制函数的输入,经由输出参数来得到函数的输出,但所有的临时变量都会随着函数的结束而消失,你并无法得到它们的值.62有关阶乘函数前面(及后面)用到的阶乘函数只是纯粹是一个应用举例. 若实际要计算一个正整数n 的阶乘(即n!)时,可直接写成prod(1:n),或是直接调用gamma 函数:gamma(n-1).MATLAB 的函数也可以是递归式的(Recursive ),也就是说,一个函数可以调用它本身.举例来说,n! =n*(n-1)!,因此前面的阶乘函数可以改成递归式的写法:63function output = fact(n)% FACT Calculate factorial of a given positive % integer recursively. if n == 1; % Terminating condition output = 1; return; endoutput = n*fact(n-1);64在写一个递归函数时,一定要包含结束条件(Terminating condition ),否则此函数将会一再调用自己,永远不会停止,直到电脑的存储空间被耗尽为止. 以上例而言,n==1即满足结束条件,此时我们直接将output 设为1,而不再调用此函数本身.651-1-5、搜寻路径在前一节中,假设test1_2.m 所在的目录是c: \test. 如果不先进入这个目录,MATLAB 就找不到你要执行的M 文档. 如果希望MATLAB 不论在何处都能执行test1_2.m ,那么就必须将c:\test 加入MATLAB 的搜寻路径(Search path )上. 要检查MATLAB 的搜寻路径,键入path 即可:path66MATLABPATHC:\MATLAB6p1\toolbox\matlab\general C:\MATLAB6p1\toolbox\matlab\ops C:\MATLAB6p1\toolbox\matlab\lang C:\MATLAB6p1\toolbox\matlab\elmat C:\MATLAB6p1\toolbox\matlab\elfun C:\MATLAB6p1\toolbox\matlab\specfun C:\MATLAB6p1\toolbox\matlab\matfun C:\MATLAB6p1\toolbox\matlab\datafun C:\MATLAB6p1\toolbox\matlab\audio C:\MATLAB6p1\toolbox\matlab\polyfun C:\MATLAB6p1\toolbox\matlab\funfun …………67此搜寻路径会依已安装的工具箱(Toolboxes )不同而有所不同. 要查询某一命令是在搜寻路径的何处,可用which 命令:which condC:\MATLAB6p1\toolbox\matlab\matfun\cond.m很显然c:\test 并不在MATLAB 的搜寻路径中,因此MATLAB 找不到test1_2.m 这个M 文档:68which test1_2test not found.要将c:\test 加入MATLAB 的搜寻路径,需要使用path 命令:path(path, 'c:\data\mltool');此时c:\test 已加入MATLAB 搜寻路径(键入path 试一下),因此MATLAB 已经"看"得到test1_2.m:69which test1_2c:\test\test1_2.m现在我们就可以直接键入test1_2,而不必先进入test1_2.m 所在的目录.70如果在每一次启动MATLAB 后,都要设定所需的搜寻路径,将是一件很麻烦的事. 有两种方法,可以使MATLAB 启动后,即可载入使用者定义的搜寻路径:MATLAB 的预设搜寻路径是定义在matlabrc.m (在c:\matlab 之下,或是其他安装MATLAB 的主目录下),MATLAB 每次启动后,即自动执行此文档. 因此你可以直接修改matlabrc.m ,以加入新的目录于搜寻路径之中.71MATLAB 在执行matlabrc.m 时,同时也会在预设搜寻路径中寻找startup.m ,若此文档存在,则执行其所含的命令. 因此我们可将所有在MATLAB 启动时必须执行的命令(包含更改搜寻路径的命令),放在此文档中.72每次MATLAB 遇到一个命令(例如test )时,其处置程序为:1. 将test 视为使用者定义的变量.2. 若test 不是使用者定义的变量,将其视为永久常数.3. 若test 不是永久常数,检查其是否为目前工作目录下的M 文档.4. 若不是,则由搜寻路径寻找是否有test.m 的文档.5. 若在搜寻路径中找不到,则MATLAB 会发出哔哔声并显示错误讯息.731-1-6、资料的储存与载入有些计算旷日废时,那么我们通常希望能将计算所得的储存在文档中,以便将来可进行其他处理. MATLAB 储存变量的基本命令是save ,在不加任何选项(Options )时,save 会将变量以二进制(Binary )的方式储存至扩展名为mat 的文档,如下述:74save :将工作空间的所有变量储存到名为matlab.mat 的二进制文档.save filename :将工作空间的所有变量储存到名为filename.mat 的二进制文档.save filename x y z :将变量x 、y 、z 储存到名为filename.mat 的二进制文档.以下为使用save 命令的一个简例:who % 列出工作空间的变量75Your variables are: B h j y ans i x zsave test B y % 将变量B 与y 储存至test.matdir % 列出现在目录中的文档 delete test.mat % 删除test.mat76以二进制的方式储存变量,通常文档会比较小,而且在载入时速度较快,但是就无法用普通的文书软体(例如记事本)打开文档. 若想看到内容,则必须加上-ascii 选项,详见下述:save filename x -ascii :将变量x 以八进制存放到名为filename 的ASCII 文档.save filename x -ascii -double :将变量x 以十六进制存放到名为filename 的ASCII 文档.77另一个选项是-tab ,可将同一列相邻的数目以定位键(Tab )隔开.二进制和ASCII 文档的比较在save 命令使用-ascii 选项后,会有下列现象:save 命令就不会在文档名称后加上mat 的扩展名. 因此以扩展名mat 结尾的文档通常是MATLAB 的二进位资料档.78通常只储存一个变量. 若在save 命令列中加入多个变量,仍可执行,但所产生的文档则无法以简单的load 命令载入. 有关load 命令的用法,详见下述.原有的变量名称消失. 因此在将文档以load 载入时,会取用文档名为变量名称.对于复数,只能储存其实部,而虚部则会消失.79对于相同的变量,ASCII 文档通常比二进制文档大.由上表可知,若非有特殊需要,我们应该尽量以二进制方式储存资料.80load 命令可将文档载入以取得储存之变量:load filename :load 会寻找名称为filename.mat 的文档,并以二进制格式载入. 若找不到filename.mat ,则寻找名称为filename 的文档,并以ASCII 格式载入.load filename -ascii :load 会寻找名称为filename 的文档,并以ASCII 格式载入.81若以ASCII 格式载入,则变量名称即为文档名称(但不包含副档名). 若以二进制载入,则可保留原有的变量名称,如下例:82clear all; % 清除工作空间中的变量x = 1:10;save testfile x -ascii % 将x 以ASCII 格式存至名为testfile 的文档load testfile % 载入testfilewho % 列出工作空间中的变量Your variables are:testfile x83注意在上述过程中,由于是以ASCII 格式储存与载入,所以产生了一个与文档名称相同的变量testfile ,此变量的值和原变量x 完全相同.练习:实现算法:随机方法求一元函数的极值]5,5[)sin(9829.418)(−∈+=x x x x f84算法:randfmax=-∞; fmin =+∞; 循环(10000){随机产生两个解x1,x2; if f(x1)>fmax then xmax=x1;if f(x2)<fmin then xmin=x2;} 输出xmin, fmin, xmax, fmax851-1-7 MATLAB 编程技巧z 尽量避免使用循环,尽量使用向量运算代替循环运算。