yanice 发表于 2007-9-12 10:38

那位高手给我介绍一下matlab的数据类型?

关于矩阵和数组有什么区别和联系,我觉得二维数组就是矩阵啊?谁给解释一下?
多谢

eight 发表于 2007-9-12 10:42

原帖由 yanice 于 2007-9-12 10:38 发表 http://www.chinavib.com/forum/images/common/back.gif
我觉得二维数组就是矩阵啊?谁给解释一下?

理解正确

yanice 发表于 2007-9-12 10:45

回复 #2 eight 的帖子

那matlab就直接定义一个数组就可以了,还讲什么矩阵干什么?岂不是把人搞糊涂了?

eight 发表于 2007-9-12 11:12

原帖由 yanice 于 2007-9-12 10:45 发表 http://www.chinavib.com/forum/images/common/back.gif
那matlab就直接定义一个数组就可以了,还讲什么矩阵干什么?岂不是把人搞糊涂了?

matlab 所说的“基于矩阵”的思想是为了与其他语言相区别,矩阵运算大家都懂,如果说数组运算,谁懂呢?其实这个概念我认为是来自线性代数的,不知道是否真的这样

花如月 发表于 2007-9-12 11:18

个人觉得数组、矩阵和向量都是一种东西。叫法不同,也没有什么严格的区别:lol

eight 发表于 2007-9-12 11:19

原帖由 花如月 于 2007-9-12 11:18 发表 http://www.chinavib.com/forum/images/common/back.gif
个人觉得数组、矩阵和向量都是一种东西。叫法不同,也没有什么严格的区别:lol

数组范围大点,矩阵、向量范围小点。

一般而言,矩阵是指二维数组,向量是指一维数组

rocwoods 发表于 2007-9-12 11:28

还有运算上的区别,数组运算指的是加点的运算(参与运算的多个矩阵内部相应位置元素之间的运算),矩阵运算就是数学上的矩阵相乘除等等(整体的运算)

yanice 发表于 2007-9-12 12:05

回复 #7 rocwoods 的帖子

矩阵也有点乘吧,我的意思是说数组的概念实际上是包含矩阵的概念的,是不是?

eight 发表于 2007-9-12 12:37

原帖由 yanice 于 2007-9-12 12:05 发表 http://www.chinavib.com/forum/images/common/back.gif
我的意思是说数组的概念实际上是包含矩阵的概念的,是不是?

按照运算的话,反过来吧;按照概念的话,应该是

[ 本帖最后由 eight 于 2007-9-12 12:52 编辑 ]

花如月 发表于 2007-9-12 12:47

是我没有表达清楚:@L ,应该说数组和矩阵没有本质的区别。都是结构差不多的数据类型,多维数组对应多维矩阵(说不上谁包含谁吧?),一维数组对应向量(向量也是矩阵的特殊形式,个人见解)。所以弄明白这种结构的数据类型才是主要的,其他的并不是那么重要。在M语言里多讲矩阵,其他的语言里讲数组的多些

[ 本帖最后由 花如月 于 2007-9-12 12:49 编辑 ]

rocwoods 发表于 2007-9-12 13:07

花如月版主说的差不多,我再补充下。MATLAB强调矩阵编程思想,因此M语言中对数组经常以矩阵称呼。按照张志涌书上的说法,数组分一维、二维、多维,体现在数学概念上就是向量、矩阵、多维矩阵。只是不同的称呼而已,习惯其他语言编程的人叫一维、二维、多维数组,习惯MATLAB编程的人叫向量、矩阵、多维矩阵。这也是很多人糊涂的原因。
相对于我们理解的C/C++数据类型来说(楼主所指的数据类型即指这个吧?),数组(矩阵)不是数据类型,而是一种结构。即我们可以说a是double型的,但说a是数组型的就让人摸不着头脑了。我们说字符串数组(char)是指它里的元素是字符型的。同样rand(3,3)生成一个二维数组(二维矩阵),它的元素是double型的。
不知道这么说楼主清楚没?数组运算和矩阵运算只是人们对参与运算的两个矩阵(数组)按运算方式的不同人为起的名字!

[ 本帖最后由 rocwoods 于 2007-9-12 13:10 编辑 ]

花如月 发表于 2007-9-12 13:11

我就是楼上的这个意思,只是表述的时候不准确。总是出问题:loveliness:

eight 发表于 2007-9-12 13:16

原帖由 rocwoods 于 2007-9-12 13:07 发表 http://www.chinavib.com/forum/images/common/back.gif
花如月版主说的差不多,我再补充下。MATLAB强调矩阵编程思想,因此M语言中对数组经常以矩阵称呼。按照张志涌书上的说法,数组分一维、二维、多维,体现在数学概念上就是向量、矩阵、多维矩阵。只是不同的称呼而 ...

恩,解释完全正确,我是懒得打字而已,哈哈

appleseed05 发表于 2007-9-12 13:48

拿本线性代数看看嘛,这不一样的道理

ChaChing 发表于 2010-1-6 10:38

我习惯上的矩阵并不局限于二维(2-D), 一维也叫矩阵(如row matrix), 而数组(array)亦是相同情况! 向量是矩阵的特殊形式, 仅指一维!
反正一种东西, 不同地方叫法不同而已!
页: [1]
查看完整版本: 那位高手给我介绍一下matlab的数据类型?