MATLAB用法

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1数学建模培训之MATLAB初步用计算机解决数值分析问题三大数学软件Matlab,Maple,Mathematica其它的数学软件ExcelSPSS,SAS,R数据统计分析软件Lingo,lindo运筹学Matlab:MatrixLaboratory矩阵实验室在国际上30几个数学类科技应用软件中,Matlab在数值计算方面独占鳌头。目前,Matlab已经成为国际上最流行的科学与工程计算的软件工具,是一种具有广泛应用前景的全新的计算机高级编程语言了,有人称它为“第四代”计算机语言。就影响而言,至今仍然没有一个别的计算软件可与Matlab匹敌。Matlab的最新版本2016年,R2016b,建议大家使用R2102b第一节Matlab介绍1.1Matlab的特点与功能Matlab具有很强的数值计算功能Matlab以矩阵作为数据操作的基本单位,但无需预先指定矩阵维数(动态定维)按照IEEE的数值计算标准进行计算提供十分丰富的数值计算函数,方便计算,提高效率Matlab命令与数学中的符号、公式非常接近,可读性强,容易掌握Matlab是一个交互式软件系统输入一条命令,立即就可以得出该命令的结果Matlab符号计算功能Matlab和著名的符号计算语言Maple相结合Matlab的编程功能Matlab具有程序结构控制、函数调用、数据结构、输入输出、面向对象等程序语言特征,而且简单易学、编程效率高。通过Matlab提供的编程语言进行编程完成特定的任务Matlab的绘图功能Matlab提供丰富的绘图命令,很方便实现数据的可视化Matlab丰富的工具箱(toolbox)根据专门领域中的特殊需要而设计的各种可选工具箱Matlab的Simulink动态仿真集成环境提供建立系统模型、选择仿真参数和数值算法、启动仿真程序对该系统进行仿真、设置不同的输出方式来观察仿真结果等功能SymbolicMathPDEOptimizationSignalprocessImageProcessStatisticsControlSystemSystemIdentification……※命令行的输入规则命令行后以分号(;)结尾,表示不显示运行结果。命令行后无符号或以逗号(,)结尾,表示显示运行结果一个命令行可以输入若干条命令,各命令之间以逗号或分号分隔如果一个命令行很长,需要换行时,要加续行符(三个小黑点…)标点符号一定要在英文状态下输入。若需要在命令行后加注释,注释以%开始。1.3Matlab帮助帮助命令help显示指定命令的简短使用说明例:helpeiglookfor按指定的关键词查询与之相关的命令例:lookforeigdoc以网页形式显示指定命令的帮助页例:doceig第二节MATLAB语言基本操作2.1变量和赋值2、变量命名原则:以字母开头后面可以跟字母、数字和下划线长度不超过63个字符变量名区分字母的大小写,MATLAB提供的标准函数名以及命令名必须用小写字母。1、基本变量:矩阵在MATLAB工作空间中,还驻留几个由系统本身定义的变量。它们有特定的含义,在使用时,应尽量避免对这些变量重新赋值。例如:pi、i、inf等等。3、预定义变量预定义变量含义预定义变量含义ans计算结果的缺省变量名pi圆周率i或j虚数单位eps机器零阈值(=2.2204e-016)Inf或Inf无穷大,如1/0nan或NaN不是一个数,如0/0,∞/∞realmax最大正实数realmin最小正实数nargin函数输入宗量数目nargout函数输出宗量数目lasterr最新一次的错误信息lastwarn最新一次的警告信息4、变量(矩阵)的建立(1)直接输入法例如A=[123;456;789]矩阵用方括号“[]”括起矩阵同一行中的元素之间用空格或逗号分隔矩阵行与行之间用分号分开直接输入法中,分号可以用回车代替或A=[1,2,34,5,67,8,9](2)利用MATLAB函数建立矩阵①几个产生特殊矩阵的函数:zeros:产生全0矩阵(零矩阵)。ones:产生全1矩阵(幺矩阵)。eye:产生单位矩阵。rand:产生0~1间均匀分布的随机矩阵。randn:产生均值为0,方差为1的标准正态分布随机矩阵。magic:产生魔方阵pascal:产生帕斯卡阵②这几个函数的调用格式相似,下面以产生零矩阵的zeros函数为例进行说明。其调用格式是:zeros(m)产生m×m零矩阵zeros(m,n)产生m×n零矩阵zeros(size(A))产生与矩阵A同样大小的零矩阵size(A)列出矩阵A的行数和列数大矩阵可以由方括号将小矩阵或向量建立。例:A=[1,2,3;4,5,6;7,8,9];B=[1:3]C=[A;B](3)通过矩阵扩展建立矩阵(4)创建行向量直接产生:x=[abcdef]创建包含指定元素的行向量利用冒号表达式产生:x=a:h:b创建从a开始,以h为步长,到b结束的行向量,缺省时h=1x=linspace(a,b,n)与a:(b-a)/(n-1):b等价创建从a开始,到b结束,有n个元素的行向量(5)创建列向量直接产生例c=[1;2;3;4]产生列向量有两种方法:说明:以空格或逗号分隔的元素指定的是不同列的元素,而以分号分隔的元素指定了不同行的元素.转置产生例b=[1234];c=b’矩阵单个元素的提取利用小括弧和元素所在的位置(下标)A(i,j):矩阵A中的第i行,第j列元素A(i):矩阵A中的第i个元素,它表示矩阵A中从第一列开始从上到下数,接着在从第二列开始从上到下数,依次下去,直到数到第i个。5、元素的提取例:A=[1,2,3,4;4,5,6,7;5,7,9,0]b1=A(3,2)b2=A(6)结果:b1=7b2=7矩阵多个元素的提取冒号运算符A(:)或A(:,:)提取A的所有元素A(:,k)提取A的第k列全部元素A(k,:)提取A的第k行全部元素A(i:j,m:n)提取A的第i到第j行和第m到第n列交叉线上的元素组成的子矩阵。A(k:m)提取A的第k到第m个元素A(:,k:m)提取A的第k列到第m列元素A(i:j,:)提取A的第i行到第j行元素(3)直接使用元素编址序号:x([abcd])表示提取向量x的第a、b、c、d个元素构成一个新的向量[x(a)x(b)x(c)x(d)].(2)提取一块元素:x(a:b:c)表示提取向量x的从第a个元素开始,以b为步长,到第c个元素(但不超过c)结束的这些元素,b可以为负数,b缺省时为1.(1)提取一个元素:x(i)表示提取向量x的第i个元素.向量元素的提取6、Matlab赋值语句的通常形式变量=表达式表达式是用运算符将有关运算量连接起来的式子,其结果被赋给赋值号“=”左边的变量或表达式2.2Matlab常用数学函数sin正弦函数asin反正弦函数cos余弦函数acos反余弦函数tan正切函数atan反正切函数cot余切函数acot反余切函数sec正割函数asec反正割函数csc余割函数acsc反余割函数sinh双曲正弦函数asinh反双曲正弦函数cosh双曲余弦函数acosh反双曲余弦函数tanh双曲正切函数atanh反双曲正切函数coth双曲余切函数acoth反双曲余切函数sech双曲正割函数asech反双曲正割函数csch双曲余割函数acsch反双曲余割函数abs(x)实数的绝对值或复数的模sqrt(x)开平方rat(x)化为分数表示gcd(x,y)最大公因数lcm(x,y)最小公倍数exp(x)自然指数pow2(x)2为底的指数log(x)e为底的对数log10(x)10为底的对数log2(x)2为底的对数sign(x)符号函数conj(z)共轭复数angle(z)复数z的相角real(z)复数z的实部imag(z)复数z的虚部round(x)四舍五入取整ceil(x)朝+∞方向取整floor(x)朝-∞方向取整fix(x)朝0方向取整rem(x,y)求x除以y的余数factor(x)质因数factorial(x)x!2.3Matlab运算1、算术运算(1)基本算术运算+、-、*(乘)、\(左除)、/(右除)、^(乘方)如:2/3或3\2注意:运算是在矩阵意义下进行的,单个数据的算术运算只是矩阵运算的一种特例。对于矩阵A/B:AB-1A\B:A-1B两矩阵进行点运算是指它们的对应位置上的元素进行相关运算,要求两矩阵的维数相同。(2)点运算.*、./、.\、.^(2)关系运算符的运算法则:2、关系运算(1)MATLAB提供了6种关系运算符:(小于)、=(小于或等于)、(大于)、=(大于或等于)、==(等于)、~=(不等于)。它们的含义不难理解,但要注意其书写方法与数学中的不等式符号不尽相同。当两个比较量都是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。当两个维数相同的矩阵比较时,相同位置上的元素按标量关系运算规则逐个进行。当参与比较的一个是标量,而另一个是矩阵时,把标量与矩阵的每一个元素按标量关系运算规则逐个比较。3、逻辑运算(1)MATLAB提供了3种逻辑运算符:&(与)、|(或)和~(非)。(2)逻辑运算符的运算法则:在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。当参与逻辑运算的是两个标量a和b,那么,a&b:a,b全为非零时,结果为1,否则为0。a|b:a,b中只要有一个非零,结果为1。~a:当a是零时,结果为1;当a非零时,结果为0。当两个维数相同的矩阵做逻辑运算时,相同位置上的元素按标量关系运算规则逐个进行。当参与逻辑运算的一个是标量,而另一个是矩阵时,把标量与矩阵的每一个元素按标量关系运算规则逐个进行。各运算符的优先级算术关系逻辑size(A)求出矩阵A的行数和列数length(x)返回向量X的长度1、查看矩阵的大小:2.4矩阵的相关操作的函数2、矩阵的转置与共轭转置’共轭转置.’转置,矩阵元素不取共轭点与单引号之间不能有空格!例如A=[12;2i3i]B=A'C=A.'3、删除矩阵元素A=[123;456;789]A(:,2)=[]结果:A=134679注:如要删除单个元素不能:A(1,2)=[];可用A(4)=[]不过剩下的元素将排成一组数,而非矩阵。A=[123;456;789]A(4)=[]结果:A=147583694、向量和矩阵的范数norm(V)或norm(V,2)求向量V(或矩阵V)的2范数norm(V,1)求向量V(或矩阵V)的1范数norm(V,inf)求向量V(或矩阵V)的∞范数5、求方阵A的行列式:det(A)6、求方阵A的逆矩阵:inv(A)7、求矩阵A的迹:trace(A)8、求矩阵A的秩:rank(A)9、求矩阵A的特征值和特征向量:d=eig(A)[V,D]=eig(A)10、矩阵分解三角分解:[L,U]=lu(A)其中:L是由对角线元素全为1的下三角阵经转化而成,U为上三角阵,满足A=LU正交分解:[Q,R]=qr(A)其中:Q是正交阵,R为上三角阵,满足A=QR11、其他常用命令max(A)求A各列最大元素min(A)求A各列的最小值mean(A)求A各列的平均值sum(A)求A各列元素之和prod(A)求A的各列元素之积sort(A)使A各列元素按递增排序median(A)求A各列的中位元素std(A)求A各列的标准差var(A)求A各列的方差find(A)找出矩阵A中非零元素所在的下标find(条件)找出符合条件的元素所在的位置diag(A)提取矩阵A的主对角线上元素,生成一个列向量diag(A,k)提取矩阵A第k条对角线的元素diag(V)以向量V的元素为主对角线上的元素构造的对角矩阵diag(V,k)以向量V的元素为第k条对角线上的元素的构造的对角阵12、向量与多项式例:建立多项式5421()2544pxxxxxp1=[2,5,0,4,1

1 / 102
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功