电-2-091116Matlab基础及应用_第1页
电-2-091116Matlab基础及应用_第2页
电-2-091116Matlab基础及应用_第3页
电-2-091116Matlab基础及应用_第4页
电-2-091116Matlab基础及应用_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2 章 Matlab语言基础* Matlab变量。 Matlab基本运算。掌握Matlab变量命名规则;掌握Matlab中算术运算、关系运算符、逻辑运算、操作符表达方式和运算符的含义,并了解常用函数的使用;掌握Matlab中向量运算、矩阵运算、数组运算、字符串运算。本章学习要求学习重点和难点 重点:变量与运算。2.1 基本概念变量(包括函数)的命名规则:由英文字母、数字和下划线混合组成,不得包含空格和标点 ;第一个字符必须是英文字母,变量名不能超过63个字符,对于6.5版最多包括31个字符;对字母的大小写敏感。关键字(if、while等)不能作为变量名;最好不要用特殊常量符号作变量名。变量的

2、命名例子:指出下面变量命名是否正确:(1) _A (2) 32 (3) r89 (4) exp,4 (5)4_ep (6)exp 32 常量与变量变量的命名固定变量:在MATLAB中有一些特定的变量,它们已经被预定义了某个特定的值。MATLAB中的固定变量主要有pi、inf和eps等(见书2-1表)。固定变量功 能固定变量功 能ans用作结果的默认变量名nargin函数的输入参数个数beep使计算机发出“嘟嘟”声nargout函数的输出参数个数pi圆周率varagin可变的函数输入参数个数eps浮点数相对误差varagout可变的函数输出参数个数inf无穷大realmin最小的正浮点数NaN或

3、nan不定数realmax最大的正浮点数i或j复数单位bitmax最大的正整数运算符算术运算符:注意左除、右除关系运算符逻辑运算符运算符优先级算术运算(加)、(减)、*(乘)、/(右除)、(左除)、(乘方)。注意,运算是在矩阵意义下进行的,单个数据的算术运算只是一种特例。加减运算规则是:若A和B矩阵的维数相同,则可以执行矩阵的加减运算,A和B矩阵的相应元素相加减。如果A与B的维数不相同,则MATLAB将给出错误信息,提示用户两个矩阵的维数不匹配。矩阵乘法: 假定有两个矩阵A和B,若A为mn矩阵,B为np矩阵,则C=A*B为mp矩阵。矩阵除法中“”左除和“/”右除。如果A矩阵是非奇异方阵,则AB

4、和B/A运算可以实现。AB等效于A的逆左乘B矩阵,也就是inv(A)*B,而B/A等效于A矩阵的逆右乘B矩阵,也就是B*inv(A)。(斜线下方的求逆)矩阵除法,对于含有标量的运算,两种除法运算的结果相同,如3/4和43有相同的值,都等于0.75。又如,设a=10.5,25,则a/5=5a=2.1000 5.0000。对于矩阵来说,左除和右除表示两种不同的除数矩阵和被除数矩阵的关系。对于矩阵运算,一般ABB/A。点运算符号“.*” 、“./”、 “.” 、“.”例子:a=1 2; 3 4 b= 0 2; 1 0 两矩阵对应元素进行相关运算 两矩阵维数相同注意:区分数组运算和矩阵运算的异同(重点

5、)a*b=2 2 4 6a.*b=0 4 3 0 当参与算术运算的一个是标量,另一个是矩阵时,则把标量与矩阵的每一个元素逐个进行相关运算关系运算MATLAB提供了6种关系运算符:运 算 符说 明=等于=不等于大于=不小于=不大于若关系成立,关系表达式结果为1,否则为0关系运算符的运算法则为: (1) 当两个比较量是标量时,直接比较两数的大小。若关系成立,关系表达式结果为1,否则为0。 (2) 当参与比较的量是两个维数相同的矩阵时,比较是对两矩阵相同位置的元素按标量关系运算规则逐个进行,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。 (3) 当参与比

6、较的一个是标量,而另一个是矩阵时,则把标量与矩阵的每一个元素按标量关系运算规则逐个比较,并给出元素比较结果。最终的关系运算的结果是一个维数与原矩阵相同的矩阵,它的元素由0或1组成。逻辑运算 MATLAB提供了3种逻辑运算符:&(与)、|(或)和(非)。逻辑运算的运算法则为: (1) 在逻辑运算中,确认非零元素为真,用1表示,零元素为假,用0表示。 (2) 设参与逻辑运算的是两个标量a和b,那么, a&b-a, b全为非零时,运算结果为1,否则为0。 a|b -a, b中只要有一个非零,运算结果为1。 a -当a是零时,运算结果为1;当a非零时,运算结果为0。 (3) 先决与 A&B - 若A为

7、1,则A&B;若A为0,则A&B为0 先决或 A|B - 若A为1,则A|B 为1;若A为0,则A|B注意:C语言和Matlab定义的逻辑运算符并不一致C语言里面:(&, |, ) 表示位运算符(&,|,!) 表示逻辑运算符(4) 若参与逻辑运算的是两个同维矩阵,那么运算将对矩阵相同位置上的元素按标量规则逐个进行。最终运算结果是一个与原矩阵同维的矩阵,其元素由1或0组成。(5) 若参与逻辑运算的一个是标量,一个是矩阵,那么运算将在标量与矩阵中的每个元素之间按标量规则逐个进行。最终运算结果是一个与矩阵同维的矩阵,其元素由1或0组成。(6) 逻辑非是单目运算符,也服从矩阵运算规则。(7) 在算术、

8、关系、逻辑运算中,算术运算优先级最高,其次是关系运算,逻辑运算优先级最低。例子:b + a c - a (b + a) (c a)运算优先表优先级运 算 符最高( )(小括号).(转置) (共轭转置) . (数组和数值乘方) (矩阵乘方)+(一元加法) - (一元减法) (取反).*(乘法) *(矩阵乘法) ./(右除) /(矩阵右除) .(左除) (矩阵左除)+(加法) -(减法): (冒号) (小于) (大于) =()大于或等于 =(等于) =()不等于& (逻辑与)| (逻辑或)& (先决与)最低| (先决或)2.2 向量运算向量的生成: (1) 直接输入法 (2) 冒号表示法:注意格式

9、;注意an,a1与步长的关系。 (3) 函数法:线性等分A=linspace(a1, an ,n) n代表的是点的数目,即分成n-1等分, 步长应当是(an-a1 )/(n-1) 对数等分A=logspace(a1, an ,n) 在a1 和 an 之间插入n-2个数,构成等比数列向量的加减和数乘运算 维数相同的行向量之间可以相加减,维数相同的列向量也可以相加减,标量数值可以与向量直接相乘除。向量的点叉积运算: (1) 点积运算 dot(A,B) ,A、B是维数相同的两向量。 (2) 叉积运算 cross(A,B), A、B只能是三维向量。 (3) 混合积运算2.3 矩阵运算矩阵元素的存储次序

10、 Matlab规定矩阵元素在存储器中的存放次序是按列的先后顺序存放。矩阵元素的表示及相关操作 (1) 元素的下标表示法: 全下标方式A(i,j); 单下标方式A(s), s=(j-1)*m+i。 全下标方式与存储方式有关。只要有逗号就不是单下标。 如果只有一个冒号,则列出所有元素。如A(:), A(:,:) 矩阵元素的赋值 全下标方式;单下标方式;全元素方式。 注意:后两种方式赋值的矩阵必须是被引用过的矩阵。矩阵元素的删除 可以用空矩阵将矩阵中的单个元素、某行、某列、某矩阵子块及整个矩阵中的元素删除。矩阵的创建在命令窗口直接输入直接输入需遵循以下基本规则:整个矩阵应以“ ”为首尾,即整个输入矩

11、阵必须包含在方括号中;矩阵中,行与行之间必须用分号“;”或 Enter 键( 按Enter 键)符分隔;每行中的元素用逗号“ ,”或空格分隔; 矩阵中的元素可以是数字或表达式,但表达式中不可包含未知的变量,MATLAB用表达式的值为该位置的矩阵元素赋值。当矩阵中没有任何元素时,该矩阵被称作“ 空阵”( Empty Matrix)。抽取法 从已建好的矩阵中抽部分元素建新矩阵。 全下标方式 单下标方式拼接法 前面是从大矩阵中取小矩阵,这儿是小矩阵组合为大矩阵。(4) 函数法% ones 生成全部元素为 1 的矩阵 ones(3,4) ans = 1 1 1 1 1 1 1 1 1 1 1 1 F=

12、5*ones(3)F = 5 5 5 5 5 5 5 5 5% zeros 生成全部元素为0的矩阵 Z=zeros(2,4)Z = 0 0 0 0 0 0 0 0% rand 生成均匀分布的随机矩阵 R=rand(4) R = 0.9501 0.8913 0.8214 0.9218 0.2311 0.7621 0.4447 0.7382 0.6068 0.4565 0.6154 0.1763 0.4860 0.0185 0.7919 0.4057% eye 生成单位阵 S=eye(6) S = 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0

13、0 0 0 1 0 0 0 0 0 0 1% size获取指定矩阵的行数和列数size(S)ans= 6 6拼接函数和变形函数法 cat(n,A1,A2,A3,),n=1行向拼接,n=2纵向拼接, n2拼接出的是多维数组。 repmat(A,m,n),行数和列数分别是原来的m、n倍。 reshape(A,m,n),行列数使元素总数一样。加载法 用load命令输入 用Import 菜单输入M文件法 A=1,2,3,4,5 6,7,8,9,10 11,12,13,14,15 16,17,18,19,2021,22,23,24,25将该文件存为af.m,当用户在Matlab命令窗口内输入:af将显示

14、用户所创建的矩阵矩阵的代数运算求行列式的值:det(A)矩阵加减、数乘与乘法 参与加减运算的矩阵必须是同阶矩阵,矩阵相乘有定义的前提是两矩阵内阶相等。求矩阵的逆矩阵:inv(A)矩阵的除法 左除 AB=inv(A)*B, 右除A/B=A*inv(B)(5) 求矩阵的秩:rank(A)(6) 求矩阵的特征值与特征向量:在Matlab中,计算矩阵A的特征值和特征向量的函数是eig(A),常用的调用格式有3种:E=eig(A):求矩阵A的全部特征值,构成向量E。V,D=eig(A):先对矩阵A作相似变换,然后求矩阵A的全部特征值,构成对角阵D,并求A的特征向量构成V的列向量V,D=eig(A,nob

15、alance):直接求矩阵A的特征值和特征向量。下面的语句是不允许的,因为A不是字符串,然而MATLAB不会产生错误。eig A ans = 65 MATLAB实际上取出与字母A相等的ASCII码数值的特征值(是65)。(7) 矩阵的乘幂与开方:矩阵必须是方阵(8) 矩阵的指数与对数:expm(A); logm(A)(9) 矩阵转置:单纯转置transpose(Z)(10) 矩阵的提取与翻转2.4 数组运算前面是针对每个矩阵进行的运算,这儿是针对每个元素进行运算多维数组元素的存储次序 A(i,j,k):数组A中第i行,第j列,第k页的元素。 存放的优先次序:页,列,行。(2) 多维数组的创建(

16、3) 数组的代数运算(4) 数组的关系与逻辑运算(5) 数组和矩阵函数的通用形式 表2-13,表2-142.5 字符串运算MATLAB真正强有力的地方在于它的数值处理能力。然而,经常希望操作文本,例如把标号和标题放在图上。在MATLAB里,文本当作特征字符串或简单地当作字符串。字符串内的单引号是由两个连续的单引号来表示。字符串连接可以直接从数组连接中得到。字符串函数eval(string) 作为一个MATLAB 命令求字符串的值eval(try,catch)blanks(n) 返回一个n 个零或空格的字符串deblank 去掉字符串中后拖的空格feval 求由字符串给定的函数值findstr 从一个字符串内找出字符串isletter 字母存在时返回真值isspace 空格字符存在时返回真值isstr 输入是一个字符串,返回真值lasterr 返回上一个所产生MATLAB 错误的字

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论