- 1、本文档共22页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 数组阵列及向量化运算
Application of Matlab Language * * 第三章 数组阵列及向量化运算 §1 数值数组 §2 字符串数组 §3 胞元数组 §4 构架数组 本章介绍内容: 教材第3章和附录A 数组定义: 按行(row)和列(column)顺序排列的实数或复数的有序集,被称为数组。 数组中的任何一个数都被称为这个数组的元素,由其所在的行和列标识,这个标识也称为数组元素的下标或索引。 1 2 3 4 5 2 22 23 24 25 3 32 33 34 35 4 42 43 44 45 a(3, 4)=34 a= 对m行、n列的2维数组a: 计为m×n的数组a; 行标识、列标识均从1开始; 行标识从上到下递增; 列标识从左到右递增。 §1 数值数组 1. 一维数组的创建和寻访 创建:(1)逐个元素输入法 x= [2 pi/2 sqrt(3) 3+5i] (2)冒号生成法( x = a:inc:b ) x = 1:2:10; y = 1:100; z=100:-3:1; (3)线性(或对数)定点法 x = linspace(a,b,n) (等差) 同x = a: (b-a)/(n-1): b x = logspace(a,b,n) (等比) %n为数组长度 例:x=linspace(1,7,5) 访问: x(3), x([1,3 5]), x(1:3), x(4:end), x(find(x4)) (4) 函数生成法例: ones(1,6) 2.二维数组(矩阵)的创建和寻访 (1)小规模数组直接创建: A=[2 3;5,9]; (2)中规模数组用数组编辑器或M文件创建 (3)用matlab函数创建数组 rand /randn—— 均匀/正态分布随机数组 eye —— 单位数组 zeros ——全部元素都为0的数组 ones ——全部元素都为1的数组 diag ——对角数组 magic——魔方阵(矩阵各行,列,对角线元素和相等) gallery —— 产生各种用途的测试数组 空数组 [ ] — matlab允许输入数组,当一项操作无结果时,返回空数组。 标识和寻访: (1)“全下标”标识 A(1,1),A(1, : ) (2)“单下标”标识 A(3), A( : ) 注意数组元素内存按列排放 sub2ind 全下标换单下标 例: % a(2,3)换为单下标 sub2ind(size(a),2,3) ind2sub 单下标换全下标 例: %3*3单下标阵中取2,3,5号元素换为双下标 [I,J]=ind2sub([3,3],[2 3 5]) (3)“逻辑1”标识:通过与A同样大小的逻辑数组L中“逻辑值1”所在的位置,指示A中元素位置 例:A=zeros(2,5); A(:)=-4:5 %2*5阵 L=abs(A)3, islogical(L), X=A(L) %满足条件元素按列放, 等价于X=A(find(L)) X1=A.*L 数组操作技法综合 变维 a=[1:12];b=reshape(a,3,4),c=zeros(3,4); c(:)=a(:) 变向 rot90(c):逆时针旋转90度; fliplr:左右翻; flipud:上下翻 抽取 diag(c) :抽取主对角线元素成列向量; diag(diag( c)):抽取主对角线元素成对角阵 tril(rand(4),-1): 抽取主下三角; triu:抽取主上三角 扩展 A=reshape(1:4,2,2),A(3,3)=5,A(:,4)=6 B=[A,A] %等价于B=A(:,[1:4,1:4]) , B=repmat(A,1,2) C=[A;A] %等价于 C=A([1:3,1:3],:), C=repmat(A,2,1) D=[A;A] a=0/0, b=0*log(0), c=inf - inf a = NaN b = NaN c = NaN class(a),isnan(a) ans = double ans = 1 R=rand(2,5);R(1,5)=NaN;R(2,3)=NaN; LR=isnan(
文档评论(0)