2014-10-02 60 views
0

Java有Vector类,可用于动态存储字符串,例如什么是MATLAB相当于Java Vector类的?

Vector<String> vex = new Vector<String>();

,然后我可以动态地添加元素。什么是MATLAB相当于这个Vector类?

+2

很多***所有的matlabs变量类型都像Java矢量一样动态增长......例如, 'A = {'one','two'};''{end + 1} ='three';' – Dan 2014-10-02 15:46:53

+0

谢谢@Dan!你能举出任何其他MATLAB类类型的例子吗? – Bob 2014-10-02 16:03:48

+0

你可以给我一个没有的例子吗? – Dan 2014-10-02 16:25:52

回答

1

对于字符串,使用一个单元阵列:

a = {}; 

添加到它动态地通过连接其它单元阵列:

a = [a { 'foo', 'bar' }] 

或通过隐式地分配到单元阵列的界限:

a{end+1} = 'foo'; 

请注意,像所有其他matlab阵列一样,单元阵列有一个形状,所以要小心形状串联时不兼容。

+0

“细胞阵列有形状吗?”你能解释一下吗? – Bob 2014-10-02 15:53:22

+0

'{'foo''bar'}'是一个1×2(一行两列)数组。它可以与空单元格阵列{{}'和其他1×n单元阵列连接,但不能与(比方说)2×1阵列连接。这个想法对于Matlab来说是绝对必要的,所以如果这个问题仍然不清楚,我建议您寻找一个基本的Matlab教程。 – jez 2014-10-02 15:57:09

+0

谢谢,我意识到,在应用任何操作员时,参数的维度必须一致......“形状”一词使我困惑了一下。 – Bob 2014-10-02 16:01:39