矩阵和数组的区别
数组中的元素可以是字符等
矩阵中的只能是数
这是二者最直观的区别。
因为矩阵是一个数学概念(线性代数里的),数组是个计算机上的概念。
你见过纯粹数学中有数组的概念吗?没有。
因为计算机上(准确的说是信息科学中)常用到线性代数的知识,就引用了矩阵的概念。
《精通MATLAB6.5版》(张志涌编著,北京航空航天大学出版社)中说: 从外观形状和数据结构上看,二维数组和数学中的矩阵没有区别。但是矩阵作为一种变换或映射算子的体现,矩阵运算有着明确而严格的数学规则。而数组元算是Matlab软件所定义的规则,其目的是为了数据管理方便、操作简单、指令形式自然和执行计算的有效。虽然数组运算尚缺乏严谨的数学推理,虽然数组运算仍在完善和成熟中,但是它的作用和影响正随着matlab的发展而扩大。 数组运算: 数与数组加减:k+/-A %k加或减A的每个元素 数组乘数组: A.*B %对应元素相乘 数组乘方: A.^k %A的每个元素k次方;k.^A,分别以k为底A的各元素为指数求幂值 数除以数组: k./A和A./k %k分别被A的元素除 数组除法: 左除A.\B右除B./A,对应元素相除 矩阵运算: 数与矩阵加减:k+/-A %等价于k*ones(size(A))+/-A 矩阵乘法: A*B %按数学定义的矩阵乘法规则 矩阵乘方: A^k %k个矩阵A相乘 矩阵除法: 左除A\B右除B/A %分别为AX=B和XA=B的解 可见,数组的运算很简单。若不考虑数学意义时,矩阵是数组的二维版本。 构造数组: 1、直接构造:用空格或逗号间隔数组元素 x=[1,2,3,4,5,6] 2、增量法构造:使用冒号操作符创建数组 a=first:end %递增,且步长为1的数组 a=first:step:end %指定增量步长值创建任何等差序列 3、用linspace函数构造 x=linspace(first,last,num) %需要指定首尾值和元素总个数,步长根据num平均分配 构造矩阵 1、简单创建方法 用[],逗号或空格格开各元素,分号隔开各行,注意各行具有相同的元素个数。 2、构造特殊矩阵 ones,zeros,eye,diag,magic,rand,randn,randpem .....
NumPy矩阵与数组的区别
矩阵matrix和数组array是NumPy里的两种数据类型,都可以用于处理行列表示的数字元素。
1.matrix只能是2维的,array可以是任意维数。
随机初始化实例:
2.在这两个数据类型上执行相同的数学运算会得到不同的结果
对于a,b两个matrices,a*b表示矩阵乘积
对于array来说,a*b表示逐个元素相乘
**运算符表示的含义也不同,对于maxtrix来说,a**2表示a*a
对于array来说,a**2表示数组里的数的平方
标签:运算,区别,元素,矩阵,构造,数学,数组 来源: https://www.cnblogs.com/yoyowin/p/12861262.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。