繁体   English   中英

矩阵和数组有什么区别?

[英]What is the difference between matrix and array?

什么是更普遍的术语? 为什么MATLAB命名为矩阵实验室呢?

矩阵是表示以nxm标量值数组的形式从维n的空间到维m的空间的线性变换的实用方法。

以非常系统的方式执行线性代数操作也是非常实用的,可以在计算机上实现。 例如,如果矩阵A表示线性变换f而矩阵B表示线性变换g ,则组成f o g写为A * B,其中*表示矩阵乘法。 Matlab还有许多与矩阵运算相关的例程(即线性代数运算),如detpinvsvd等......

正如您现在仍然可以在Matlab中看到的那样,像*/这样的运算符与矩阵运算密切相关,因而与线性代数运算密切相关,我认为这是matlab在其早期阐述中的最初目标,因此它的名字(当然是非常具有推测性)但是猜测离现实不远)。

要对n维数据集执行逐元素操作,您必须编写.*./ 表示您现在正在执行数组操作

我不会说数组操作包含矩阵运算 ,它们是不同的。 后者与线性代数有关,而其他则只涉及对大型数据集进行操作的实用方法。 这些数据不限于数字,它们只是n维数据集(字符串,数字,单元格等)。

Matlab还具有非常合成的语法,可以对子块(即线性/逻辑下标)执行数组操作 ,这使得在应用后续矩阵数组操作之前,只需在一行代码中重新组织数据集就非常容易。

如果您询问MATLAB,“矩阵”一词通常是指2d阵列,而“阵列”可以是n维。

早期版本的MATLAB仅支持2d矩阵,而不支持n维数组。 我相信在MATLAB的第5版中引入了对n维数组的支持。

我会说MATLABs矩阵是一种更高级的数组,如果你比较c样式数组,例如double array[] ,或Java数组,例如double arry2[] 我还要说matlab矩阵比c ++向量或Java ArrayList更适合数学目的。 但是,如果你的意思是matlab数组,我会说它更复杂。 然后我会推荐关于matlab数据的链接,它描述了mxArray类型,用于存储matlab中的大部分数据。 如果没有更好地描述你对数组的意思,这个问题很难完全回答,但我会说,关于类型,像a = [1,2,3,4]这样的数组和像b = [1,2,3,4;5,6,7,8]这样的矩阵没有区别b = [1,2,3,4;5,6,7,8] 还有更高维度的矩阵,因为c = ones(3,4,3) 这些通常在MATLAB中也称为矩阵,或者如果您需要更具体的N维矩阵。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM