数学建模——Matlab.pptx
《数学建模——Matlab.pptx》由会员分享,可在线阅读,更多相关《数学建模——Matlab.pptx(119页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Matlab软件软件彭江涛湖北大学数统学院Email:基本内容一、一、MATLABMATLAB简介及基本运算简介及基本运算 二二、数组与矩阵、数组与矩阵三、三、MATLABMATLAB程序设计程序设计 四、四、MATLABMATLAB绘图绘图五、五、MATLAB统计处理统计处理Matlab简介 MATLAB(Matrix&Laboratory)是美国MathWorks公司自20世纪80年代中期推出的数学软件,优秀的数值计算能力和卓越的数据可视化能力使其很快在数学软件中脱颖而出。MATLAB已经成为线性代数、自动控制、概率统计、信号与图像处理、时间序列分析、动态系统仿真等高级课程的基本教学工具。
2、Matlab简介 MATLAB用法简易、灵活、程式结构强又兼具延展性。强大的数值计算和工程运算功能强大的数值计算和工程运算功能先进先进的资料视觉化功能的资料视觉化功能高阶但简单的程式环境高阶但简单的程式环境开放及可延伸的架构开放及可延伸的架构 丰富丰富的工具箱的工具箱:小波工具箱、神经网络工具箱、信号处理工具箱、图像处理工具箱、优化工具箱、鲁棒控制工具箱等几十个不同应用的工具箱。Matlab能干什么MATLAB可以进行:数学计算、算法开发建模、仿真数据分析、开发和可视化科学和工程图形应用程序的开发,包括图形用户界面的创建。MATLAB广泛应用于:数值计算、图形处理、符号运算、数学建模、系统辨识
3、、小波分析、实时控制、动态仿真等领域。Matlab界面命令命令窗口、图形窗口、编辑窗口、帮助窗口。窗口、图形窗口、编辑窗口、帮助窗口。常用MATLAB系统命令help 在线帮助 help maxwho 显示当前变量whos 显示当前变量的详细信息clear 清空工作间的变量和函数pack 整理工作间的内存load 把文件入变量调入工作间save 把变量存入文件中 save Myfile xxxecho 命令回显what 显示指定的matlab文件dir 显示目录内容基本数学运算MATLAB下进行基本数学运算,只需将运算式直接打在提示号 后面,并按Enter键。MATLAB将计算结果以ans显示
4、。2+3 ans=5我们也可给运算式的结果设定一个变量 x:x=2+3 x=5 变量x的值可以在下个语句中调用:y=x+1 y=6 变量命名规则变量命名规则变量命名规则注释或示例注释或示例变量名区分大小写变量名区分大小写Cost与与cost是不同的变量名是不同的变量名最多包含最多包含63个字符个字符必须以字母开头,后必须以字母开头,后面可以是数字、字符面可以是数字、字符或下划线或下划线how_123com不允许出现标点符号不允许出现标点符号因为标点符号有特殊的意义因为标点符号有特殊的意义变量命名规则Matlab中关键字中关键字不能作为变量名,不能作为变量名,关键字如下关键字如下:forothe
5、rwisecasecatchendelseifelseglobalifreturnswitchbreakwhilefunctiontrycontinue系统预定义变量特殊变量特殊变量描述描述ans用作结果的默认变量名用作结果的默认变量名pi圆周率圆周率epsMatlab中的最小的数中的最小的数inf表示无穷大表示无穷大NaN(nan)表示不能确定的数(表示不能确定的数(0/0)i或或j虚数虚数realmin可用的最小正实数可用的最小正实数realmax可用的最大正实数可用的最大正实数1.7977e+308bitmax可用的最大正整数可用的最大正整数9.0072e+015基本算术运算运算运算符号
6、符号示例示例加法加法+3+2减法减法-56-23乘法乘法*3*34除法除法/或者或者12/4或者或者412乘方乘方34基本数学运算【例】求 的算术运算结果。(1)用键盘在MATLAB指令窗中输入以下内容 (12(12+2 2*(7(7-4)4)/3 3 2 2 (2)在上述表达式输入完成后,按【Enter】键,执行指令(3)在指令执行后,MATLAB指令窗中将显示以下结果。ans=2 基本算术运算MATLABMATLAB书写表达式的规则与书写表达式的规则与“手写算式手写算式”差不多,但要求差不多,但要求所有所有表达式都是以表达式都是以纯文本形式纯文本形式输入输入。如果。如果一个指令过长一个指令
7、过长可以可以在在结尾加上结尾加上.(代表此行指令与下一行连续(代表此行指令与下一行连续)例如例如:1*2+3*4+5*6+7*8+9*10+11*12+.13*14+15*16 ans=744变量赋值赋值语句:变量赋值语句:变量 =表达式表达式 例:计算表达式的值,并显示计算结果。在MATLAB命令窗口输入命令:x=1+2i;y=3-sqrt(17);z=(cos(abs(x+y)-sin(78*pi/180)/(x+abs(y)z=-0.3488+0.3286i练习熟悉Matlab界面了解常用系统命令了解变量命名规则在命令行实现简单的算术运算如:(73+2)/5 11-1.1产生复数1.直接
8、输入:c1=1-2ic1=1.0000-2.0000i c1=1-2jc1=1.0000-2.0000i2.用命令函数或表达式产生:ci=complex(1,2)ci=1.0000+2.0000i c2=3*(2-sqrt(-1)*3)c2=6.0000-9.0000i注意:只有数字才可以注意:只有数字才可以和和 i 相连相连,表达式不可以,表达式不可以MATLAB中数学函数MATLAB提供了一系列函数来支持基本的数学运算,其中大多数函数的用法和我们平时书写数学表达式的用法一样,如下面所示:x=pi/4;y=sin(x)y=0.7071 z=asin(y)z=0.7854 x=2;y=x2y=
9、4 z=sqrt(y)z=2常用的数学函数名称含义名称含义名称含义sin正弦csc余割atanh反双曲正切cos余弦asec反正割acoth反双曲余切tan正切acsc反余割sech双曲正割cot余切sinh双曲正弦csch双曲余割asin反正弦cosh双曲余弦asech反双曲正割acos反余弦tanh双曲正切acsch反双曲余割atan反正切coth双曲余切atan2四象限反正切acot反余切asinh反双曲正弦sec正割acosh反双曲余弦三角函数和双曲函数常用的数学函数指数函数名称含义名称含义名称含义expE为底的指数log1010为底的对数 pow22的幂log自然对数log22为底的
10、对数sqrt平方根 复数函数名称含义名称含义名称含义abs绝对值conj复数共轭real复数实部angle相角imag复数虚部常用的数学函数 其他函数名称含义名称含义min最小值max最大值mean平均值median中位数std标准差diff相邻元素的差(微分)sort排序length长度或个数norm欧氏距离(范数)sum总和prod总乘积dot内积cumsum累计元素总和cumprod累计元素总乘积练习MATLAB中的特殊字符说明v“,”作分隔用,如把矩阵元素、向量参数、函数参数、几个表达式分隔开来。例如:A=1,2,3v“;”写在一个表达式后面时,运算后命令窗口中不显示表达式的计算结果,
11、例如:x=2;。在创建矩阵的语句中指示一行元素的结束,例如:A=1 2;3 4v“:”创建向量的表达式分隔符,如 x=1:2:10。A(:,j)表示j列的所有元素;A(i,:)表示i行的所有元素;A(1:3,4)表示第4列的第1行至第3行元素。v“()”圆括号;“”创建数组、向量、矩阵或字符串数组创建方法数组的创建方法数组的创建方法描述描述x=1,2,3创建包含任意元素的行向量创建包含任意元素的行向量x=first:lastx=1:10 x=first:increment:lastx=1:0.5:10 x=linspace(first,last,n)x=linspace(1,10,5)x=lo
12、gspace(first,last,n)x=logspace(1,2,5)其中其中a、b、n分别分别表示开始值(表示开始值(10a)、结束值)、结束值(10b)、元素个数元素个数(n)。标量与数组关系 g=1 2 3 4g=1 2 3 4 g-2ans=-1 0 1 2 2*gans=2 4 6 8 g/5ans=0.2000 0.4000 0.6000 0.8000标量与矩阵关系 g=1 2 3 4;5 6 7 8g=1 2 3 4 5 6 7 8 g-2ans=-1 0 1 2 3 4 5 6 2*gans=2 4 6 8 10 12 14 16 g/5ans=0.2000 0.4000
13、0.6000 0.80001.0000 1.2000 1.4000 1.6000矩阵与矩阵关系 g=1 2 3 4;5 6 7 8;9 10 11 12g=1 2 3 4 5 6 7 8 9 10 11 12 h=1 1 1 1;2 2 2 2;3 3 3 3h=1 1 1 1 2 2 2 2 3 3 3 3矩阵与矩阵关系 g+hans=2 3 4 5 7 8 9 10 12 13 14 15 ans-hans=1 2 3 4 5 6 7 8 9 10 11 12 3*g-hans=2 5 8 11 13 16 19 22 24 27 30 33 2*(g-h)ans=0 2 4 6 6 8
14、10 12 12 14 16 18矩阵与矩阵运算对于乘法和除法来说,要注意以下两个符号的差别:对于乘法和除法来说,要注意以下两个符号的差别:g*h?Error using=mtimesInner matrix dimensions must agree.g.*hans=1 2 3 4 10 12 14 16 27 30 33 36注意:星号乘法前带点是说明进行的运算是元素对元素的数组乘法;没有点说明进行的是矩阵乘法,矩阵乘法要满足:左边矩阵的列数等于右边矩阵的行数这一原则。矩阵与矩阵运算 g=1,2,3;4,5,6;7,8,9g=1 2 3 4 5 6 7 8 9 h=1 1 1;2 2 2;
15、3 3 3h=1 1 1 2 2 2 3 3 3 g*hans=14 14 14 32 32 32 50 50 50 g.*hans=1 2 3 8 10 12 21 24 27矩阵与矩阵运算除法、乘方与乘法相同,没有点是矩阵的除法,或称为矩阵的逆运算,有点是元素对元素的数组运算。g./hans=1.0000 2.0000 3.0000 2.0000 2.5000 3.0000 2.3333 2.6667 3.0000 g/hWarning:Matrix is singular to working precision.ans=NaN NaN Inf NaN NaN Inf NaN NaN I
16、nf矩阵与矩阵运算 g2ans=30 36 42 66 81 96 102 126 150 g.hans=1 2 3 16 25 36 343 512 729 2.gans=2 4 8 16 32 64 128 256 512练习熟悉标量与数组、数组与数组运算熟悉标量与矩阵、矩阵与矩阵运算注意点乘.*、点除./与普通乘法除法之间差别如:A=1 2;3 4;B=5 6;7 8,计算并比较A.*B,A*B,A./B,A/B矩阵处理方法利用冒号表达式获得子矩阵 A(:,j)表示取A矩阵的第j列全部元素;A(i,:)表示A矩阵第i行的全部元素;A(i,j)表示取A矩阵第i行、第j列的元素。A(i:i+
17、m,:)表示取A的第ii+m行的全部元素;A(:,k:k+m)表示取A矩阵第kk+m列的全部元素,A(i:i+m,k:k+m)表示取A矩阵第ii+m行内,并在第kk+m列中的所有元素。此外,还可利用一般向量和end运算符来表示矩阵下标,从而获得子矩阵。end表示某一维的末尾元素下标。数组处理方法 A=1 2 3;4 5 6;7 8 9A=1 2 3 4 5 6 7 8 9 A(3,3)=0A=1 2 3 4 5 6 7 8 0 A(2,6)=1A=1 2 3 0 0 0 4 5 6 0 0 1 7 8 0 0 0 0数组处理方法 A=1 2 3;4 5 6;7 8 9A=1 2 3 4 5 6
18、 7 8 9 B=A(3:-1:1,1:1:3)B=7 8 9 4 5 6 1 2 3 B=A(end:-1:1,1:3)B=7 8 9 4 5 6 1 2 3数组处理方法利用空矩阵删除矩阵的元素。在MATLAB中,定义为空矩阵。给变量X赋空矩阵的语句为X=。注意,X=与clear X不同,clear是将X从工作空间中删除,而空矩阵则存在于工作空间中,只是维数为0。例:A(:,2)=A=1 3 4 6 7 9特殊矩阵常用的产生通用特殊矩阵的函数有:zeros:产生全0矩阵(零矩阵)。zeros(3)ones:产生全1矩阵(幺矩阵)。ones(3)eye:产生单位矩阵。eye(3)rand:产生
19、01间均匀分布的随机矩阵。rand(3)randn:产生均值为0,方差为1的标准正态分布随机矩阵。randn(3)特殊矩阵例:分别建立33、32和与矩阵A同样大小的零矩阵。(1)建立一个33零矩阵。zeros(3)(2)建立一个32零矩阵。zeros(3,2)(3)设A为23矩阵,则可以用zeros(size(A)建立一个与矩阵A同样大小零矩阵。A=1 2 3;4 5 6;%产生一个23阶矩阵Azeros(size(A)%产生一个与矩阵A同样大小的零矩阵特殊矩阵例 建立随机矩阵:(1)在区间20,50内均匀分布的5阶随机矩阵。(2)均值为0.6、方差为0.1的5阶正态分布随机矩阵。命令如下:x
20、=20+(50-20)*rand(5)y=0.6+sqrt(0.1)*randn(5)此外,常用的函数还有reshape(A,m,n),它在总元素保持不变的前提下,将数组A重新排成mn的二维矩阵。向量 矩阵:reshape(1 2 3 4 5 6,2,3)矩阵 向量:reshape(1 2 3;4 5 6,6,1)特殊矩阵魔方矩阵魔方矩阵有一个有趣的性质,其每行、每列及两条对角线上的元素和都相等。对于n阶魔方阵,其元素由1,2,3,n2共n2个整数组成。MATLAB提供了求魔方矩阵的函数magic(n),其功能是生成一个n阶魔方阵。magic(3)ans=8 1 6 3 5 7 4 9 2特殊
21、矩阵范得蒙矩阵范得蒙(Vandermonde)矩阵最后一列全为1,倒数第二列为一个指定的向量,其他各列是其后列与倒数第二列的点乘积。可以用一个指定向量生成一个范得蒙矩阵。在MATLAB中,函数vander(V)生成以向量V为基础向量的范得蒙矩阵。例如A=vander(1;2;3;5)A=1 1 1 1 8 4 2 1 27 9 3 1 125 25 5 1练习熟悉矩阵的元素操作了解一些特殊的矩阵如:给定一个矩阵A=1 2 3;4 5 6,能提取或改变任意位置元素的值关系运算MATLAB提供了6种关系运算符:(小于)、(大于)、=(大于或等于)、=(等于)、=(不等于)。它们的含义不难理解,但要
22、注意其书写方法与数学中的不等式符号不尽相同。关系运算符的运算法则为:(1)当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。12 ans=0 21 ans=1关系运算(3)当参与比较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。(2)当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。关系运算例:产
23、生5阶随机方阵A,其元素为10,90区间的随机整数,然后判断A的元素是否能被3整除。(1)生成5阶随机方阵A。A=fix(90-10+1)*rand(5)+10)(2)判断A的元素是否可以被3整除。P=rem(A,3)=0其中,rem(A,3)是矩阵A的每个元素除以3的余数矩阵。此时,0被扩展为与A同维数的零矩阵,P是进行等于(=)比较的结果矩阵。逻辑运算MATLAB提供了3种逻辑运算符:&(与)、|(或)、(非)。逻辑运算的运算法则为:(1)在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。(2)设参与逻辑运算的是两个标量a和b,那么,a&b a,b全为非零时,运算结果为1,否
24、则为0。a|b a,b中只要有一个非零,运算结果为1。a 当a是零时,运算结果为1;当a非零时,运算结果为0。逻辑运算 (3)若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。(4)若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。(5)逻辑非是单目运算符,也服从矩阵运算规则。(6)在算术、关系、逻辑运算中,算术运算优先级最 高,逻辑运算优先级最低。逻辑运算例:建立矩阵A,然后找出大于4的元素的位置。
25、(1)建立矩阵A。A=4,-65,-54,0,6;56,0,67,-45,0(2)找出大于4的元素的位置。find(A4)R C=find(A4)练习掌握关系与逻辑运算如:A=1 2 3;4 5 0;0 7 8 1.找出0元素的位置,将0元素替换为10 2.然后,列出所有小于5的元素矩阵分析1、对角阵只有对角线上有非0元素的矩阵称为对角矩阵,对角线上的元素相等的对角矩阵称为数量矩阵,对角线上的元素都为1的对角矩阵称为单位矩阵。如:diag(1 2 3)2三角阵 三角阵又进一步分为上三角阵和下三角阵,所谓上三角 阵,即矩阵的对角线以下的元素全为0的一种矩阵,而 下三角阵则是对角线以上的元素全为0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 建模 Matlab
限制150内