- 1、本文档共36页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab及其应用 Matlab及其应用 重庆大学光电工程学院 MATLAB 及应用 第四讲 数组及其运算 在matlab中,矩阵(变量)都不必事先定义维数大小,matlab会根据用户所输入的矩阵结构自动配置,并在此后的运算中按正确的数学法则自动的调整矩阵的维数。 数组是由一组实数、复数或者字符等排成的长方阵列(array),可以是“一维”、“二维”、“三维”或者“多维”。 数组运算:无论在数组上施加什么运算,对数组每个元素都平等地实施同样的操作(点运算符)。 数组使程序简单易读;指令更接近于数学计算公式;提高程序向量化程度;提高计算效率。 数组分类 按照数组中的数据类型: 数值数组 字符串数组 元胞数组 结构数组 以数组的结构分: 一维 二维 三维 多维 实例 绘制函数 在 时的曲线。 x=0:0.1:1; y=x.*exp(-x); plot(x,y) xlabel(‘x’); ylabel(‘y’); title=(‘y=x*exp(-x)’); 4.1 数值数组 4.1.1 一维数组(narr1.m) 创建 逐个元素输入法(元素不多的数组) 冒号生成法(生成等步长一维数组) x=a:inc:b(inc默认为1,(b-a)为inc的整数倍,也可以不是) 定数线性(对数)采样法 linspace和logspace 寻访和赋值(narr1.m) 对下标index的操作 Matlab下标从1开始,到end结束 4.1.2 二维数组(narr2.m、narr3.m) 创建 直接输入法(以行为单位,行间以;或者enter间隔,行内以空格或者,间隔) 以M文件创建 标识 全下标 单下标(按行显、按列存),不推荐 “逻辑1”标识(确切说不是标识,而是逻辑数组应用) 寻访与赋值 4.1.3 数组运算 数组运算规则:无论在数组上施加什么运算,对数组每个元素都平等地实施同样的操作。 数组运算常用函数:(三角函数、指数对数函数、复数函数、圆整求余函数等) MATLAB Functions: Functions - By Category: Elementary Math 4.1.4 矩阵运算 与数组运算的区别:二维数组是数的存储形式,矩阵是一种变换或者映射算子;二者数据结构(计算机表达)一致。 运算指令对比,见下页(Programming and Data Types: M-File Programming: Operators) 数组乘除、次方、开方、指数运算等均为“点”运算符 请课外复习矩阵运算,注意区分矩阵左除与右除 数组运算与矩阵运算是完全不同的概念,数组运算是MATLAB特有的便于计算和表示的算法,而矩阵运算是有严格的数学定义的。 4.1.5 数组生成函数(narr4.m) diag对角方阵(数组) eye单位方阵(数组) magic魔方阵(数组) ones全一阵(数组) rand随机阵(数组) randn正态随机阵(数组) zeros全零阵(数组) 4.1.6数组扩展 赋值扩展 多次寻访扩展 合成扩展 4.1.7 数组操作函数(narr5.m) 4.1.8 关系操作(narr6.m) 运算符:, , = , = , == , ~= 关系操作的结果为逻辑数 逻辑数:True和False,用1和0表示 所有非零数都为逻辑真,零为逻辑假 逻辑数组:所有元素为1或0的数组可以看为逻辑数组 标量可与任何维数组比较,比较在标量与每个元素间进行,数组间比较必须同维 4.1.9 逻辑操作 操作符: , | , ~ (注意与C语言的区别) narr7.m 一些关系逻辑函数 4.1.10 高维数组 创建 全下标赋值 低维数组合成 数组生成函数生成 数组函数构造(cat,repmat,reshape) 标识 ndims %获得数组的维数 size %获得数组各维的大小 length %获得数组的所有维中的最大维 4.1.11 “非数”和“空”数组 非数:NaN,nan 产生:0/0, ∞/ ∞, 0 ×∞ 传递:对NaN(nan)作运算,产生的还是NaN 判断:isnan函数 “空数组”:a=[], b=ones(2,0) 判断:isempty函数 4.2 字符串数组 4.2.1 字符串入门 a=123.45 b=123.45 c=example 数值量占8字节,字符存放占2字节 必须在英文半角状态输入 4.2.2 字符串数组(narr8.m) 创建:a=‘Matlab programming’ size函数:size(a) 标识:与数组访问方式一致 ASCII码 当字符串本身包含‘’时,用两个联系的单引号(不能用双引号)标识 4.2.3 复杂字符串数组(二维字符
文档评论(0)