ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:18.46KB ,
资源ID:4944515      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4944515.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matrix Indexing.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Matrix Indexing.docx

1、Matrix IndexingMatrix Indexing矩阵索引在此页访问单个元素 线性索引控制索引风格函数 访问多个元素 使用逻辑值的数组索引单冒号使用不同的数组类型的索引 索引的分配访问单个元素 要引用矩阵中的特定元素,使用下面的语法,其中A是矩阵变量指定的行数和列数。始终指定的行和列 A(行, 列)例如,对于一个44魔方A, A = magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1您将访问该元素在第4行,第2列的 A(4, 2)ans = 14对于以上两个维度的数组,可以指定其他索引后的row 和 column指数。请参阅Multi

2、dimensional Arrays.线性索引你可以参考一个MATLAB矩阵的元素用一个下标,A(k)。MATLAB存储的矩阵和数组的形状,他们在MATLAB命令窗口中显示时的显示,但作为一列元素。这种单一的列组成的所有的列的矩阵,每一个附加到最后。 因此,矩阵A A = 2 6 9; 4 2 8; 3 5 1A = 2 6 9 4 2 8 3 5 1实际上是存储在存储器中,作为序列 2, 4, 3, 6, 2, 5, 9, 8, 1在第3行,第2列的矩阵A(值= 5)的元素也可以被识别为实际的存储顺序中的元件6。要访问这个元素,你有选择的使用标准A(3,2)的语法,或者你可以使用A(6),这

3、被称为线性索引。 如果你提供更多的下标,MATLAB计算的存储列的索引,根据你分配给数组的尺寸。例如,假定一个两维数组,如A具有大小d1 d2,其中d1是在阵列中的行数和d2的列数。如果您提供的两个下标(i, j)的行列索引的偏移量是 (j-1) * d1 + i给出的表达式A(3,2),MATLAB计算A的存储列偏移量为(2-1)* 3+3,或6。访问计数列中的第六个要素值为5。 控制索引风格函数 如果你有行 - 列标,但要使用线性索引,你可以转换为后者使用sub2ind函数。在33矩阵A用于在上一节中,sub2ind改变一个标准的行 - 列索引为(3,2),线性索引为6: A = 2 6

4、9; 4 2 8; 3 5 1;linearindex = sub2ind(size(A), 3, 2)linearindex = 6为了得到相当于一个线性索引的行列,请使用ind2sub函数 : row col = ind2sub(size(A), 6)row = 3col = 2访问多个元素 对于44矩阵A如下所示,也可以将元素A中的第四列的计算总和,通过键入 A = magic(4);A(1,4) + A(2,4) + A(3,4) + A(4,4)您可以减少使用冒号运算符的表达式的尺寸。下标表达式涉及冒号指部分的矩阵。该表达式 A(1:m, n)指1到m行,n列的矩阵A使用这个符号,你

5、可以计算一个更简洁的第四列中的元素的总和: sum(A(1:4, 4)不连续的元素 要引用矩阵中的不连续的元素,使用冒号运算符使用的步长值。m:3:n在此表达方式进行分配矩阵中的所有第三个元素。请注意,本例中使用线性索引: B = A;B(1:3:16) = -10B = -10 2 3 -10 5 11 -10 8 9 -10 6 12 -10 14 15 -10MATLAB支持一种类型的数组索引,使用一个数组到另一个数组的索引。您可以基于这种类型上的值或索引数组中的元素位置的索引。 下面是一个例子其中基于阵列B的值索引阵列A 的1,3,6,7和10元素. 在这种情况下,数值数组B中指定预定

6、的元素A: A = 5:5:50A = 5 10 15 20 25 30 35 40 45 50B = 1 3 6 7 10;A(B)ans = 5 15 30 35 50如果你与另一向量的向量索引,索引向量的方向的履行输出: A(B)ans = 5 15 30 35 50A1 = A; A1(B)ans = 5 15 30 35 50如果你的索引与非向量成一个向量,形状的索引履行。 C = 1 3 6; 7 9 10;A(C)ans = 5 15 30 35 45 50end关键字MATLAB提供的关键字end指定的最后一个元素的数组在一个特定的维度。不知道有多少行或列的矩阵,在你的程序的情

7、况下,关键字是有用的。您可以更换表达式在前面的例子 B(1:3:end) = -10注意:关键字end在MATLAB中有好几个意思。它可用于如上面所解释的,或终止一个条件块的代码,如if 和for块,或终止的嵌套函数。 指定行或列的所有元素 冒号本身是指一个矩阵的行或列中的所有元素。使用下面的语法,你可以计算出一个44的魔方A的第二列中的所有元素的总和: sum(A(:, 2)ans = 34通过使用冒号使用线性索引,你可以参考整个矩阵中的所有元素。这个例子显示矩阵A的所有元素,返回他们在一列分段顺序: A(:)ans = 16 5 9 4 . . . 12 1使用逻辑值的数组索引 一个合乎逻

8、辑的数组索引指定数组A中的元素位置的索引数组,B,不是他们的值的基础上。在这种掩码类型的操作,每一个true的元素索引阵列 被视为 被访问到阵列中的位置索引。 在以下的例子中,B是一个逻辑1和逻辑0的矩阵。b确定的位置,这些元素在元素的指定的表达式A(B): A = 1 2 3; 4 5 6; 7 8 9A = 1 2 3 4 5 6 7 8 9B = logical(0 1 0; 1 0 1; 0 0 1);B = 0 1 0 1 0 1 0 0 1A(B) ans = 4 2 6 9find The find函数可以是与逻辑阵列有用,因为它返回非零元素的线性指数,其中,在B中,从而有助于解

9、释A(B): find(B)ans = 2 4 8 9逻辑索引 - 例1 此示例创建的逻辑数组B满足A0.5的条件,并使用在B位置的索引 为A: rng(0,twister); % Reset the random number generatorA = rand(5);B = A 0.5;A(B) = 0A = 0 0.0975 0.1576 0.1419 0 0 0.2785 0 0.4218 0.0357 0.1270 0 0 0 0 0 0 0.4854 0 0 0 0 0 0 0一个简单的方法来表达,这是 A(A 0.5) = 0逻辑索引 - 例2 下面的例子强调的素数幻方 使用逻辑

10、索引设置非素数为0的位置: A = magic(4)A = 16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1B = isprime(A)B = 0 1 1 1 1 1 0 0 0 1 0 0 0 0 0 0A(B) = 0; %逻辑索引AA = 0 2 3 13 5 11 0 0 0 7 0 0 0 0 0 0find(B)ans = 2 5 6 7 9 13用较小阵列的逻辑索引 在大多数情况下,应该有逻辑索引数组元素作为阵列被索引到相同数量的,但是这不是必需。索引阵列可具有更小的(但不大于)尺寸: A = 1 2 3;4 5 6;7 8 9A = 1 2 3 4

11、5 6 7 8 9B = logical(0 1 0; 1 0 1)B = 0 1 0 1 0 1isequal(numel(A), numel(B)ans = 0A(B)ans = 4 7 8MATLAB对待缺少的元素的索引数组,就好像它们是存在并设置为零,如在下面的阵列C: %数组C给它相同数量的零的索引 %A的元素。 C = logical(B(:);0;0;0);isequal(numel(A), numel(C)ans = 1A(C)ans = 4 7 8单冒号使用不同的数组类型的索引 当你到一个标准的MATLAB阵列使用单冒号索引,MATLAB返回一个列向量(见下面的变量n,)。当

12、你的索引结构或单元阵列使用单冒号,你会得到一个以逗号分隔的列表(请参阅 Access Data in a Structure Array 和 Access Data in a Cell Array 创建三种类型的数组: n = 1 2 3; 4 5 6;c = 1 2; 3 4;s = cell2struct(c, a, b, 1); s(:,2)=s(:,1);在每个索引使用单冒号: n(:) c: s(:).aans = ans = ans = 1 1 1 4 ans = ans = 2 3 2 5 ans = ans = 3 2 1 6 ans = ans = 4 2索引的分配 矩阵为其

13、他矩阵赋值时,您可以使用本节中介绍的任何样式的索引。矩阵的赋值语句也有以下的要求 在分配A(J,K,.) = B(M,N,.),下标J, K, M, N,等可以是标量,矢量,或阵列,设置所有满足以下的条件: B的下标指定的数量,不包括尾随的下标为1,不超过ndims(B). 为A的非标量的下标指明的数目 等于指定为B的非标量的下标数. 例如,, A(5, 1:4, 1, 2) = B(5:8) 是有效的,因为双方的方程使用非标量下标相等。 A指定的非标量下标的顺序和长度与B指定的顺序和长度的下标为非标量并相匹配. 例如,A(1:4, 3, 3:9) = B(5:8, 1:7)是有效的,因为双方的方程(忽略了一个标量下标3)使用4个元素的下标第7元素的下标。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1