Matlab:使用方括号来表示列表是否有任何区别?

时间:2015-05-30 21:26:58

标签: matlab

我们可以按a = [1:3]指定一个列表 但与此同时, 我们还可以按a = 1:3指定列表。

我看到a命令窗口的输出是相同的,即

a = 1 2 3

但内部结构是否存在差异,我们无法看到并导致进一步计算的差异?

2 个答案:

答案 0 :(得分:3)

我不这么认为。在MATLAB中,方括号可用于将一些矩阵连接在一起。例如,我可以做到

x = [1:2, 5:7, 9:12]
x =

    1    2    5    6    7    9   10   11   12

在您的情况下,您只使用一个矩阵进行矩阵连接,这只会产生所提供的矩阵。

答案 1 :(得分:0)

你甚至不需要去向量。即使对于标量,以下内容也是等效的:

a = 123;
a = [ 123 ];

第一个将a声明为标量123,而第二个将其声明为长度为1的向量,其唯一元素为123。在MATLAB中,这两者完全相同。

这是一个例子(使用八度):

octave:1> x = 123
x =  123
octave:2> x(2) = 456
x =

   123   456

正如您所看到的,声明为标量的内容可以很容易地作为向量处理。我认为一切都只是作为载体存储。