MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章

上传人:E**** 文档编号:89243480 上传时间:2019-05-22 格式:PPT 页数:48 大小:477.51KB
返回 下载 相关 举报
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章_第1页
第1页 / 共48页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章_第2页
第2页 / 共48页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章_第3页
第3页 / 共48页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章_第4页
第4页 / 共48页
MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章》由会员分享,可在线阅读,更多相关《MATLAB及其在电气工程中的应用 教学课件 ppt 作者 苏小林 第二章(48页珍藏版)》请在金锄头文库上搜索。

1、,第2章 数据类型,在MATLAB中,关于矩阵和数组有着不同的运算方法和规则,但两者 在表示形式和储存形式上确是一样的,都是以数组的形式来表示。数据 类型是一组数据的描述和对这组数据可进行的操作的统称,是使用 MATLAB必须掌握的基础。MATLAB提供了多种数据类型,常用的数据类型 有数值数组、字符数组、元胞数组、结构数组、对象等。 在使用MATLAB中,经常要用到变量。所谓变量是指在程序运行过程 中需要改变数值的量。变量命名需要满足以下规则: 变量名称有大小写区分。变量名称A和a表示两个不同的变量,同样 MyVar和myvar也表示两个不同的变量。 变量名称的第一字符必须是英文字母,后面可

2、以是字母、数字或者 下划线。变量名最多可以包含的字符数可以使用namelengthmax函数查看。 1var、_dat等都是不合法的变量名称。 变量名称中不可以包含空格或者标点符号。 建议在给变量命名时考虑变量的含义,使得变量名称易于理解,例 如变量名称mydata就比名称bb易于理解。,MATLAB中的预定义变量,如表2-1所示。这些预定义变量有特定含义和数值,用户可直接使用。建议不要对这些预定义变量重新定义、赋予新值,这样会改变其原含义和数值。使用命令clear,清除对应预定义变量名称,将恢复预定义变量的原含义和数值。例如,命令clear pi 将恢复预定义变量pi的原含义和缺省值。,2.

3、1 数值数组,所谓数值数组是指元素为数值的数组或矩阵。MATLAB中的数值类型包括有符号和无符号整数、单精度浮点数和双精度浮点数,缺省时为双精度浮点数。整数数值有8种类型,即有符号的8位、16位、32位、64位整数,无符号的8位、16位、32位、64位整数,它们表示的数值范围和所用转换函数见表2-2。单精度浮点数为32位(4个字节),转换函数为single。双精度浮点数为64位(8个字节),转换函数为double。,数组有一维数组、二维数组和高维数组之分,本书重点介绍一维、二维数组的创建和操作,有关高维数组的创建和操作请参阅有关文献。,2.1.1 一维数组的创建,1.直接输入法 该方法是由键盘

4、将数组中的元素逐个输入。数组用一对中括号“ ”括起来,对一维行数组,元素间用逗号“,”或空格分隔;对于一位列数组,元素间用分号“;”分隔。 【例2-1】在命令窗中直接输入下列程序语句: var1=2,5,7,8,3 或者 var1=2 5 7 8 3 运行结果为 var1 = 2 5 7 8 3 【例2-2】在命令窗中直接输入下列程序语句: var2=4;6;5;3 运行结果为,var2 = 4 6 5 3 2.冒号生成法 也称为步长生成法,是按设定“步长”生成一维行数组。该方法的通用格式为a:inc:b,其中a是数组的第一个元素;inc是步长,可以取正数或负数,inc省略时,默认取值为1;b

5、是数组的最后一个元素(当(b-a)是inc的整数倍时,否则小于b)。注意,当inc是正数时,必须满足ab,否则生成空数组。 【例2-3】在命令窗中输入下列程序语句,并观察运行结果 var3=0:2:10 var4=0:10 var5=12:-2:0 var6=0:0.01:2*pi,3.定数线性生成法 该方法是在设定的“总点数”下,均匀采样生成一维行数组。其通用格式为x=linspace(a,b,n),其中a、b分别是数组的第一个和最后一个元素,n表示数组元素的总个数。该指令的作用与x=a:(b-a)/(n-1):b相同。若n省略,默认取值为100。 【例2-4】使用linspace函数创建一

6、维数组。 var7=linspace(1,2,5) var7 = 1.0000 1.2500 1.5000 1.7500 2.0000 var8=linspace(1,2); 可检验数组var7有100个元素,其中第一个元素为1,最后一个元素为2。 4.定数对数生成法 该方法是在设定的“总点数”下,按常用对数采样生成一维行数组。其通用格式为x=logspace(a,b,n),生成数组的第一个元素为10a,最后一个元素为10b,n为数组中元素的总个数,元素按对数空间的间隔设置。若n省略,默认取值为50。,【例2-5】使用logspace函数创建一维数组 var9=logspace(1,3,5)

7、var9 = 1.0e+003 * 0.0100 0.0316 0.1000 0.3162 1.0000 var10=logspace(1,3) 可检验数组var10共有50个元素,其中第一元素为10,最后一个元素为1000. 一维数组是二维数组的特例,下面所介绍的二维数组的创建方法同样也适用于一维数组的创建。,2.1.2 二维数组的创建,二维数组是由实数或复数排列成矩形而构成的。对于mn的二维数组,是指其具有m行,n列。创建二维数组的方法有许多,例如,直接输入法、数组编辑器法、M文件生成法、数据导入法和数据文件读入法、标准数组生成函数法等,在实际应用中可根据需要灵活使用。,1. 直接输入法

8、从键盘上直接输入数组元素的方法适合于较小数组(元素和行、列数较少的数组)。直接输入法需遵循下列规则: 整个数组必须以方括号“ ”为其首尾; 数组的行与行之间需使用分号“;”间隔或用回车键【Enter】间隔; 数组的元素之间可用逗号“,”或空格间隔。 【例2-6】用直接输入法创建二维矩阵 data1=1,3,5,7;2,4,6,8;3,5,7,9 或者 data1=1 3 5 7;2 4 6 8;3 5 7 9 data1 = 1 3 5 7 2 4 6 8 3 5 7 9,2. 数组编辑器法 利用数组编辑器可方便地创建较大规模的数组。其创建方法是首先在命令窗中创建一个新的变量,可为这个变量赋任

9、意的数值,例如data2=1;在工作空间浏览器中双击该变量,打开数组编辑器,在编辑窗中出现待填写的数组元素格;逐格填写元素值,直到完成为止。当然,也可利用数组编辑器对任意数组进行编辑修改。 3. M文件生成法 对于大数组或者经常需要调用的数组,可建立一个M文件来生成。下面通过一个简单例子来说明利用M文件生成数组的过程,关于M文件创建的详细介绍请参见第4章。 【例2-7】用M文件myarray.m创建数组mydata。 步骤1:打开M文件编辑调试器,并在编辑区中输入以下内容: mydata=21,22,23,24,25,26,27,28,29; 31,32,33,34,35,36,37,38,3

10、9; 41,42,43,44,45,46,47,48,49; 51,52,53,54,55,56,57,58,59; 步骤2:保存此文件,文件名为myarray.m,以后只要在命令窗或程序中,调用myarray.m文件,数组mydata就会自动生成。例如,在命令窗中执行以下程序语句: myarray 可在工作空间浏览器或命令窗中检验生成的数组mydata。 4. 数据导入法 数据文件中保存有需要分析的数据,例如实验数据、测试数据、仿真数据等,可利用MATLAB的数据导入功能直接将其导入到MATLAB中再进行分析,这样既方便又快捷。 执行菜单“File”的“Import Data”命令,弹出“I

11、mport Data”界面,选择并打开所需导入的数据文件,弹出导入向导“Import Wizard”界面,选择数据文件中数据间的列分隔符和文本头的行数,按“Next”按钮,在弹出的界面中,用复选框选择需要导入的变量,再按“finish”按钮,数据文件中的数据以数组变量的形式导入到MATLAB中。 5. 标准数组(矩阵)函数生成法 对于一些标准数组或特殊数组,可利用MATLAB提供的函数来生成,表2-3给出一些常用的标准数组生成函数。,函数zeros、ones、eye、rand、randn有两种调用格式: 格式1:functionname(M,N) 生成M行、N列的数组 格式2:function

12、name(N) 生成N行、N列的数组 函数magic、pascal的调用格式为: functionname(N) 生成N行、N列的数组 函数diag的调用格式为: 格式1:diag(V,K) 当V是一个具有N个元素的向量时,生成一个(N+|K|)阶方阵,其第K个对角线元素为V中的元素;K=0是主对角,K0是主对角上方,K0是主对角下方;当V是矩阵时,生成一个列向量,其元素取V中第K个对角线的元素。, 格式2:diag(V) 当V是一个具有N个元素的向量时,生成一个N阶方阵,其主对角线元素取V中元素,相当于diag(V,0);当V是矩阵时,生成一个列向量,其元素取V中的主对角线的元素。 【例2-

13、8】使用标准数组函数生成数组 data2=zeros(3,4) data2 = 0 0 0 0 0 0 0 0 0 0 0 0 data3=ones(3) data3 = 1 1 1 1 1 1 1 1 1 data4=eye(4) data4 =,1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 data5=rand(3,5) data5 = 0.8147 0.9134 0.2785 0.9649 0.9572 0.9058 0.6324 0.5469 0.1576 0.4854 0.1270 0.0975 0.9575 0.9706 0.8003 6. 存取数据文件 在MAT

14、LAB中,提供save和load命令来实现数据文件的存取,表2-4列出了命令的常见调用格式。 表2-4中,filename文件名可以带路径,但不要带扩展名。v1、v2代表变量名,指定的变量个数不限,变量名与变量名之间必须以空格相分隔。 除采用上述命令之外,也可以在工作空间中选择相应的按钮或快捷菜单命令,实现数据文件的存取。,MATLAB中提供了许多有关文件输入和输出的函数,具有直接对磁盘文件进行访问的功能,不仅可以进行高层次的程序设计,也可以对低层次的文件进行读写操作,有关这方面的内容请参阅MATLAB帮助文档或有关参考文献。,2.1.3 复数数组的创建,复数数组是指数组中的元素为复数,具有实

15、部和虚部,虚数单位为“i”或“j”。复数数组的创建方法与上面介绍的实数数组的创建方法相同,只是在创建过程中,其表达式的输入形式需以复数形式输入,可以是直角坐标表示,也可以是极坐标表示,但生成后的数组都将以直角坐标形式表示。,【例2-9】创建复数数组 c1=1-2i,2+3i;2+4*i,3-5*i % 带“*”或不带“*”都可;不带“*”时,数值与i间不许有空格 c1 = 1.0000 - 2.0000i 2.0000 + 3.0000i 2.0000 + 4.0000i 3.0000 - 5.0000i c2=1,2;2,3+-2,3;4,-5*i c2 = 1.0000 - 2.0000i

16、 2.0000 + 3.0000i 2.0000 + 4.0000i 3.0000 - 5.0000i c3=2*exp(i*pi/6),3*exp(i*pi/3);3*exp(i*pi/4),4*exp(i*pi/2) c3 = 1.7321 + 1.0000i 1.5000 + 2.5981i 2.1213 + 2.1213i 0.0000 + 4.0000i,2.1.4 数值数组的访问、赋值和操作,要对数值数组的元素、子数组进行访问、赋值或操作,首先必须能寻访到这些元素、子数组,这需要通过数组的下标索引来完成。 1. 一维数组的访问、赋值 一维数组寻访格式为A(index),其中,A是要寻访的数组变量名,index是下标索引,可以是一个正整数(元素在数组中的序号),或正整数数组(元素序

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号