数值数组及其运算_第1页
数值数组及其运算_第2页
数值数组及其运算_第3页
数值数组及其运算_第4页
数值数组及其运算_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

1、1数值数组及其运算Matlab理论及应用(二)2主要内容o数组概念o一维数组的创建和寻访o二维数组的创建、标识、寻访和赋值o矩阵运算和数组运算32.1 引导 数组是指一组实数或复数排成的长方阵列(Array)。形式可以表现为:o一维的“行”o二维的“矩形”o三维或多维的“若干维矩形的堆叠” 4引入数组运算的目的:o计算程序简单易读,使程序指令更接近于教科书上的数学计算公式;o提高程序的量化程度,提高计算效率,节省计算开销5Example 2.1.1o【例2.1-1】绘制函数 在 时的曲线。xxey10 xx=0:0.1:1y=x.*exp(-x)plot(x,y),xlabel(x),ylab

2、el(y),title(y=x*exp(-x) 600.20.40.60.8100.050.10.150.20.250.30.350.4xyy=x*exp(-x)x = Columns 1 through 7 0 0.1000 0.2000 0.3000 0.4000 0.5000 0.6000 Columns 8 through 11 0.7000 0.8000 0.9000 1.0000y = Columns 1 through 7 0 0.0905 0.1637 0.2222 0.2681 0.3033 0.3293 Columns 8 through 11 0.3476 0.3595

3、0.3659 0.367972.2 一维数组的创建o2.2.1 一维数组的创建 (1)逐个元素输入法 (2)冒号生成法 xa:inc:b (3)定数线性采样法 x=linspace(a,b,n) (4)定数对数采样法 x=logspace(a,b,n)8注意:x=linspace(a,b,n)a数组的第一个元素b数组的最后一个元素n采样点总数x=logspace(a,b,n)10a数组的第一个元素10b数组的最后一个元素n 采样点总数92.2.2 一维数组的寻访和赋值【例2.2.2-1】子数组的寻访(Address)。rand(state,0) x=rand(1,5) 产生(产生(15)的随机

4、数组)的随机数组 x(3) 寻访数组寻访数组X的第三个元素的第三个元素 x(1 2 5) 寻访数组寻访数组 组成的子数组组成的子数组x(1:3) 寻访前三个元素组成的数组寻访前三个元素组成的数组 x(3:end) x(3:-1:1) x(find(x0.5) 由大于由大于0.5的元素组成的子数组的元素组成的子数组x(1 2 3 4 4 3 2 1) 对元素可以重复访问,所得数组程度对元素可以重复访问,所得数组程度允允 许大于原来的数组许大于原来的数组10注意:o寻访什么样的数组,取决于数组X(index)中下标index。o下标index本身可以是单个正整数或正整数数组,但是index中的每个

5、元素的取值必须在闭区间1,end内。oend指一维数组的长度,即最大下标。11子数组的赋值【例2.2.2-2】子数组的赋值(Assign)。x(3) = 0 x = 0.9501 0.2311 0 0.4860 0.8913 x(1 4)=1 1 x = 1.0000 0.2311 0 1.0000 0.8913 122.3 二维数组的创建2.31 直接输入法&整个输入数组必须以方括号 为其首尾; &对于同一行的不同元素用空格或逗号“,”来分隔;&不同行之间用回车“Enter”或分号“;”来分隔。 13Example【例2.3.1-1】在MATLAB环境下,用下面三条指令创建二维数组C。a=2

6、.7358; b=33/79;C=1,2*a+i*b,b*sqrt(a);sin(pi/4),a+5*b,3.5+i 14Example【例2.3.1-2】复数数组的另一种输入方式。M_r=1,2,3;4,5,6,M_i=11,12,13;14,15,16CN=M_r+i*M_i 说明:说明:逗号逗号“,”用于指令后时,该指令执用于指令后时,该指令执行后的赋值结果将被显示在屏幕上行后的赋值结果将被显示在屏幕上 152.3.2 利用M文件创建数组【例2.3.2-1】创建和保存数组 AM的 MyMatrix.m 文件。(1)创建文件% MyMatrix.mCreation and preserva

7、tion of matrix AMAM=101,102,103,104,105,106,107,108,109;. 201,202,203,204,205,206,207,208,209;. 301,302,303,304,305,306,307,308,309;(2)保存文件(3)运行文件,数组会自动存在于Matlab内存中16o把matlab工作空间中一些有用的数据长久保存下来的方法是生成mat数据文件。 save 将工作空间中所有的变量存到matlab.mat文件中。2.3.3 数据的保存默认文件名17save data将工作空间中所有的变量存到data.mat文件中。save data

8、 a b 将工作空间中a和b变量存到data.mat文件中。 下次运行matlab时即可用load指令调用已生成的mat文件。18load load data load data a b mat文件是标准的二进制文件,还可以ASCII码形式保存。即可恢复保存过的所有变量192.3.4 Matlab函数生成矩阵o空阵 matlab允许输入空阵,当一项操作无结果时,返回空阵。orand 随机矩阵oeye 单位矩阵ozeros 全部元素都为0的矩阵oones 全部元素都为1的矩阵202.4 二维数组元素的标识v全下标 指出“第几行、第几列”的元素v单下标 只用一个下标来指明元素在数组中的位置v逻辑1

9、 寻找数组中所有大于某值的元素21Example【例2.4.3-1】找出数组中 所有绝对值大于3的元素。5311342024A5311342024AA=zeros(2,5);A(:)=-4:5L=abs(A)3islogical(L)X=A(L) 222.5 二维数组的子数组寻访和赋值A(r,c)A(r,:)A(:,c)A(:)A(s)A(L)A(r,c)=SaA(:)=D(:)A(s)=Sa23ExampleA=zeros(2,4) A = 0 0 0 0 0 0 0 0 A(:)=1:8 A = 1 3 5 7 2 4 6 8 s=2 3 5;A(s)Sa=10 20 30A(s)=Sa

10、24Exampleans = 2 3 5Sa = 10 20 30A = 1 20 30 7 10 4 6 8 A(:,2 3)=ones(2) A = 1 1 1 7 10 1 1 8 252.6 执行数组运算的常用函数三角函数 sin cos tan cot asin acos stan acot指数函数 exp log log10 log2 sqrt复数函数 abs angle conj imag real261、矩阵加、减(,)运算规则: 相加、减的两矩阵必须有相同的行和列两矩阵对应元素相加减。 允许参与运算的两矩阵之一是标量。标量与矩阵的所有元素分别进行加减操作。2.7 数组运算和矩

11、阵运算272. 矩阵乘()运算规则:A矩阵的列数必须等于B矩阵的行数标量可与任何矩阵相乘。a=1 2 3;4 5 6;7 8 0;b=1;2;3;c=a*bc =14 32 23 28d=-1;0;2;f=pi*df = -3.1416 0 6.2832 矩阵除的运算在线性代数中没有,有矩阵逆的运算,在matlab中有两种矩阵除运算29 a p a 自乘p次幂 方阵方阵1的整数的整数3. 矩阵乘方 an,ap,pa对于p的其它值,计算将涉及特征值和特征向量,如果p是矩阵,a是标量ap使用特征值和特征向量自乘到p次幂;如a,p都是矩阵,ap则无意义。30 a=1,2,3;4,5,6;7,8,9;

12、a2 ans =30 36 42 66 81 96 102 126 150当一个方阵有复数特征值或负实特征值时,非整数幂是复数阵。31oinv 矩阵求逆odet 行列式的值oeig 矩阵的特征值odiag 对角矩阵 o 矩阵转置osqrt 矩阵开方4. 矩阵的其它运算 325.矩阵的一些特殊操作o矩阵的变维 a=1:12;b=reshape(a,3,4) c=zeros(3,4);c(:)=a(:)o矩阵的变向 rot90:旋转; fliplr:上翻; flipud:下翻o矩阵的抽取 diag:抽取主对角线;tril: 抽取主下三角; triu:抽取主上三角o矩阵的扩展33 数组运算指元素对元

13、素的算术运算,与通常意义上的由符号表示的线性代数矩阵运算不同 数组加减(.+,.-) a.+b a.- b5. 矩阵的数组运算 对应元素相加减(与矩阵加对应元素相加减(与矩阵加减等效)减等效)342. 数组乘除(,./,.)ab a,b两数组必须有相同的行 和列两数组相应元素相乘。a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a.*bans = 2 8 18 4 15 30 49 72 90 35a=1 2 3;4 5 6;7 8 9;b=2 4 6;1 3 5;7 9 10;a*bans = 25 37 46 55 85 109 85 133 172 36

14、a./b=b.aa.b=b./aa./b=b.a 都是a的元素被b的对应元 素除a.b=b./a 都是a的元素被b的对应元 素除例: a=1 2 3;b=4 5 6; c1=a.b; c2=b./ac1 = 4.0000 2.5000 2.0000c2 = 4.0000 2.5000 2.0000 给出a,b对应元素间的商.373. 数组乘方(.) 元素对元素的幂例:a=1 2 3;b=4 5 6;z=a.2z = 1.00 4.00 9.00z=a.bz = 1.00 32.00 729.0038关系运算 关系符号意义=小于小于或等于大于大于或等于等于不等于39说明:说明:标量可以与任何维数数组进行比较。比较标量可以与任何维数数组进行比较。比较在此标量与数组每个元素之间进行,因此在此标量与数组每个元素之间进行,因此比较结果将与被比数组同维。比较结果将与被比数组同维。当比较量中没有标

温馨提示

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

评论

0/150

提交评论