MATLAB数值运算深度解析:数组与矩阵运算

需积分: 10 1 下载量 198 浏览量 更新于2024-08-01 收藏 872KB DOC 举报
MATLAB是一种强大的数学计算软件,尤其在数值运算方面有着广泛的应用。本章主要探讨了MATLAB中的数值数组及其运算,这些是MATLAB的核心功能。在MATLAB 5.x版本之后,数值数组被定义为一种内建数据类型,支持面向对象的编程特性。 1. **二维数值数组的创建与寻访**: - 创建二维数组通常通过行列索引进行,例如`x=0:0.1:1`会生成一个从0到1以0.1为步长的一维数组。 - 数组寻访包括对单个元素的访问,如`x(3)`,以及子数组的访问,如`x([1 2 5])`。 2. **数组运算与矩阵运算的区别**: - 数组运算适用于所有相同尺寸的数组,操作符会按元素逐一对数组执行运算,例如`x.*exp(-x)`是逐元素乘法。 - 矩阵运算如加法、乘法等,需满足特定的维度匹配规则,如矩阵乘法要求前一矩阵的列数等于后一矩阵的行数。 3. **基本的数组运算函数**: - MATLAB提供了一系列函数用于数组运算,如`sum()`求和,`prod()`求积,`mean()`计算平均值,`std()`计算标准差等。 4. **多项式处理**: - 多项式的表达通常使用向量表示,例如系数向量可以表示多项式。 - MATLAB提供了`polyval()`函数来评估多项式,`polyfit()`函数用于拟合数据点得到多项式。 5. **标准数组生成函数**: - 包括`linspace()`生成等间距数组,`zeros()`, `ones()`创建零矩阵和全一矩阵,`rand()`和`randn()`生成随机数数组等。 6. **高维数组的创建、寻访和操作**: - 高维数组可以理解为多层矩阵,MATLAB支持任意维度的数组。 - 高维数组的寻访和赋值遵循类似的索引规则,但需要多维索引。 7. **非数NaN与“空”数组**: - NaN代表“非数字”,用于表示无法计算或缺失的值。 - “空”数组是大小为0的数组,表示没有元素的特殊状态。 8. **关系和逻辑操作**: - 包括比较操作符如`>`、`<`、`==`等,以及逻辑操作符`&`(与)、`|`(或)、`~`(非)。 - MATLAB 6.5版新增的逻辑操作可能涉及更复杂的布尔数组处理。 这些知识点不仅适用于数值数组,也适用于MATLAB中的其他数据结构,如细胞数组和结构数组。MATLAB的不同版本间在这些基本内容上的差异较小,确保了知识的稳定性和持久性。通过掌握这些基础,用户能够高效地进行数值计算和数据分析。