- 1、本文档共81页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数组及其运算
第三章 数组及其运算 本章主要内容如下: 3.1 概述 3.2 数值数组的生成和寻访 3.3 数组运算和矩阵运算 3.4 数组的关系操作和逻辑操作 3.5 字符串数组 3.6 非数和空数组 3.7 构架数组 3.1 概述 3.1 概述 3.1 概述 3.2 数值数组的生成和寻访 3.2 数值数组的生成和寻访 3.3 数组运算和矩阵运算 3.3 数组运算和矩阵运算 3.4 数组的关系操作和逻辑操作 3.4 关系操作和逻辑操作 3.4 关系操作和逻辑操作 3.5 字符串数组 3.6 “非数”和“空”数组 3.7 构架数组 3.6.1 非数NAN 非数(Not a Number)指的是 0/0, ∞/ ∞, 0×∞之类的运算, 在MATLAB中用NaN或nan表示。 NaN具有以下性质: NaN参与运算所得的结果也是NaN,即具有传递性; 非数没有大小的概念,不能比较两个非数的大小。 非数的功用: 真实表示0/0, ∞/ ∞, 0× ∞运算的结果; 避免因这类异常运算而造成程序中断; 在数据可视化中,用来裁减图形。 Warning: Divide by zero.a = NaNWarning: Log of zero.n = NaNc = NaNd = NaN 【例】非数的产生和性质演示 非数具有传递性 a=0/0,n=0*log(0),c=inf/inf,d=sin(a) 【说明】inf 在MATLAB中表示 【例】非数的产生和处理:求近似极限,修补图形缺口 t=-2*pi:pi/10:2*pi; %该自变量数组中存在零值 y=sin(t)./t; %在t=0处,计算将产生NaN tt=t+(t==0)*eps; %逻辑数组参与运算,用“机器零”代替0元素yy=sin(tt)./tt; %用数值可算的sin(eps)/eps近似替代sin(0)/0 subplot(1,2,1),plot(t,y),axis([-7,7,-0.5,1.2]), xlabel(‘t’),ylabel(‘y’),title(‘残缺图形’) subplot(1,2,2),plot(tt,yy),axis([-7,7,-0.5,1.2]) xlabel(‘t’),ylabel(‘yy’),title(‘正确图形’) Warning: Divide by zero. 3.6.2 “空” 数组 在MATLAB中, “空” 数组除了用[ ]表示外,某维或若干维长度均为0的数组都是“空” 数组。 %例空数组示例 a=[],b=ones(0,2),c=zeros(3,0) %创建空数组 A=reshape(-4:5,2,5) %生成(2*5)数组 A(:,[1,3])=[] %利用空数组进行数组裁减 a= [] b = Empty matrix: 0-by-2 c = Empty matrix: 3-by-0 A = -4 -2 0 2 4 -3 -1 1 3 5 A = -2 2 4 -1 3 5 【说明】reshape(Q,m,n)为生成m×n数组,且数组元素由Q按列展开。 构架数组的基本元素是构架,且每个构架是平等的,它们以下标区分。例如设A为(3?3)构架数组,则A(3,2)表示其中的第八个构架。 构架必须在划分“域”后才能使用,数据只能存放在域中,如B.p表示构架数组B的域p。构架的域可以存放任何类型,任何大小的数组,而且不同构架的同名域中存放的内容可以不同。 通常在指令窗键入构架名时只能显示该构架的结构,而不显示该构架域中的具体内容,除非该构架域中的内容是极为简单的数值变量或单行字符串。 【例】用下面的语句可以建立一个小型的数据库。 student_rec.number=1; student_rec.name=Alan Shearer; student_rec.height=180; student_rec.test=[100, 80, 75; 77, 60, 92; 67, 28, 90; 100, 89, 78]; student_rec % 显示构架 student_rec.test % 显示构架的域test内容 这是一个单
文档评论(0)