《第一章Matlab基础知识介绍.doc》由会员分享,可在线阅读,更多相关《第一章Matlab基础知识介绍.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第一章 Matlab基础知识介绍1.1 简介Matlab软件包是MathWorks公司于1989年推出的一套数值计算软件,它包含总包和若干个工具箱,可以实现数值计算、优化计算、概率统计计算,以及偏微分方程数值解、自动控制、信号处理、图像处理等若干个领域的计算和图形显示功能。Matlab提供了两种运行方式:(1)直接在Command window窗口输入命令,按Enter键执行;此画面右边就是Command window。例如,直接输入2+3,按Enter键执行(注意:此时若需要换行,按Shift + Enter键),得到结果5。(2)M文件运行方式第1步 点击画面右上方、File下面的白纸形状
2、按键,新建一个M文件(或者,依次点击File、New、Mfile):第2步 在这个新建的M文件中编辑程序,然后存盘。注意:在M文件中,书写换行使用Enter键。另外,M文件的名称最好用opt开头,这样不会和Matlab的内部文件相混淆。例如:opt_class_1,中间应用下划线。 第3步 存盘后,按F5键执行,Matlab软件包在Command window 中显示计算结果。1.2 向量与矩阵 Matlab软件包中,向量的输入必须使用方括号 ,元素的间隔有两种格式:(1)空格型;(2)逗号型。例如:或者 Matlab软件包中,矩阵的输入也必须使用方括号 ,行与行之间的间隔使用分号,或者换行。
3、元素的间隔有两种格式:(1)空格型;(2)逗号型。例如:,或者,以及都代表矩阵。例如,在Command window中输入以下程序(注意:在Command window中换行,需要使用Shift + Enter键):a = 1 2 34 5 67 8 9;b = 10 10 10; 10 10 10; 10 10 10;a + b按Enter键执行,得到结果: Matlab软件包中,矩阵a的转置,用表示。Matlab软件包中,矩阵的乘法分为点乘“.*”和星号乘“*”两种。点乘,即,一个小数点和一个星号,表示两个矩阵对应元素相乘。星号乘就是通常的矩阵乘法。向量与此类似。例如:(1)点乘a=1 2
4、 34 5 67 8 9;b=10 10 10;10 10 10;10 10 10;a.*b执行后得到结果:ans = 10 20 30 40 50 60 70 80 90(2)星号乘a=1 2 34 5 67 8 9;b=10 10 10;10 10 10;10 10 10;a*b执行后得到结果:ans = 60 60 60 150 150 150 240 240 240在Matlab中,矩阵的除法有两个,分别为左除“”与右除“”,矩阵的左除运算可以避免奇异矩阵的影响,而右除的运算速度要慢一点。两个阶数相同的矩阵才能进行除法运算。ab,即a左除b,类似于,当矩阵a可逆时,。而ab,即a右除b
5、,类似于,当矩阵b可逆时,。例如,求解矩阵方程,其中,则。注意,虽然矩阵a是一个奇异矩阵,不存在,但是,仍然可以利用Matlab中矩阵的左除运算求解矩阵方程。若要求解矩阵方程,其中,则,其中inf表示解不存在。 1.3 Matlab中的函数与图形在Matlab中,函数分为内部函数和自定义函数两种,例如,sin(x)、log(x)等常见的函数是内部函数,其它的函数需要自己定义,函数的自变量都用圆括号括起来。例1 内部函数作图。内部函数作图,使用函数作图命令fplot,或者符号函数作图命令ezplot。在区间(0,2*pi)内,画函数sin(x) + cos(x)的图像。程序如下:fplot(si
6、n(x) + cos(x),0,2*pi)或者ezplot(sin(x) + cos(x),0,2*pi)执行后得到图像:例2 自定义函数作图。自定义函数有两种格式(1)在函数作图命令fplot、或者符号作图命令ezplot中直接定义,注意,函数表达式需要写在单引号内;(2)使用inline命令定义函数,然后作图。在区间0,20内,作函数1+3*x3-5x7的图像。(1)直接定义函数,程序如下:fplot(1+3*x3-5x7,0,20)或者ezplot(1+3*x3-5x7,0,20)执行后得到图像: (2)使用inline命令定义一元函数,程序如下:f = inline(1+3*x3-5*
7、x7);fplot(f,0,20)执行后得到图像:Optimization Toolbox Problems Covered by Large-Scale MethodsNot all possible problem formulations are covered by the large-scale algorithms. The following table describes what functionality is covered by the large-scale methods. For example, for fmincon, the large-scale algo
8、rithm covers the case where there are only bound constraints or only linear equalities. For each problem formulation, the third column describes what additional information is needed for the large-scale algorithms. For fminunc and fmincon, the gradient must be computed along with the objective in th
9、e user-supplied function (the gradient is not required for the medium-scale algorithms). Since these methods can also be used on small- to medium-scale problems that are not necessarily sparse, the last column of the table emphasizes what conditions are needed for large-scale problems to run efficie
10、ntly without exceeding your computer systems memory capabilities, e.g., the linear constraint matrices should be sparse. For smaller problems the conditions in the last column are unnecessary. Note The following table lists the functions in order of increasing problem complexity. Several examples, w
11、hich follow this table, clarify the contents of the table. Table 2-4: Large-Scale Problem Coverage and RequirementsFunctionProblemFormulationsAdditional Information NeededFor Large ProblemsfminuncMust provide gradient for f(x) in fun.Provide sparsity structure of the Hessian, or compute the Hessian in fun