MATLAB中[1 2]和[1,2]之间有什么区别吗?

时间:2010-04-15 11:21:48

标签: matlab syntax

>> [1 2]

ans =

     1     2

>> [1 ,2]

ans =

     1     2

>> 

看起来一样,是真的吗?

3 个答案:

答案 0 :(得分:8)

都能跟得上;没有区别。有关详细信息,请参阅here

  

创建矩阵的最简单方法   MATLAB是使用矩阵   构造函数运算符[]。创建一行   通过输入元素在矩阵中   (在下面显示为E)   括号。用a分隔每个元素   逗号或空格:

row = [E1, E2, ..., Em]          row = [E1 E2 ... Em]

答案 1 :(得分:4)

当应用于标量元素时,两者都产生行向量,即水平串联。空格等效于方括号内的逗号以构造数组或向量。实际上,你可以在这样的表达式中随意使用空格和逗号,尽管这可能是最好的,因为它会让人感到困惑。例如,我很难读到:

A = [1 2,3, 4 , 5 6 7, 8]

更容易阅读是以下任何一种选择:

A = [1 2 3 4 5 6 7 8]
A = [1,2,3,4,5,6,7,8]

你有没有把元素分开;相反,这将产生垂直连接,这是一种不同的动物。您还可以使用这些分隔符构建阵列。所以要创建一个2x3阵列,

A = [1 2 3;4 5 6]
A =
     1     2     3
     4     5     6

答案 2 :(得分:0)

如果您对将来有疑问,可以通过ISEQUAL函数进行测试:

>> a=[1 2];
>> b=[1,2];
>> isequal(a,b)
ans =
     1