【问题标题】:What is MATLAB equivalent of Java Vector class?什么是 MATLAB 等价于 Java Vector 类?
【发布时间】:2014-10-02 15:45:25
【问题描述】:

Java 有 Vector 类,可用于动态存储字符串,例如

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

然后我可以动态添加元素。这个 Vector 类的 MATLAB 等价物是什么?

【问题讨论】:

  • 几乎 ALL 的 matlabs 变量类型像 Java 向量一样动态增长...例如A = {'one', 'two'};A{end+1} = 'three';
  • 谢谢@Dan!除了元胞数组之外,你能举出其他任何 MATLAB 类类型的例子吗?
  • 你能举个例子吗?

标签: matlab


【解决方案1】:

对于字符串,使用元胞数组:

 a = {};

通过连接其他元胞数组动态添加:

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

或通过隐式分配超出元胞数组的范围:

a{end+1} = 'foo';

请注意,与所有其他 matlab 数组一样,元胞数组也有形状,因此在连接时要注意形状不兼容。

【讨论】:

  • "单元阵列有形状吗?"你能解释一下吗?
  • {'foo' 'bar'} 是一个 1×2(一行两列)数组。它可以与空元胞数组 {} 和其他 1×n 元胞数组连接,但不能与(例如)2×1 数组连接。这个想法对于 Matlab 来说是绝对基础的,所以如果还不清楚的话,我建议寻找一个基本的 Matlab 教程。
  • 谢谢,我意识到在应用任何运算符时参数的维度必须一致......“形状”这个词让我有点困惑。
猜你喜欢
  • 1970-01-01
  • 2010-10-28
  • 1970-01-01
  • 2015-11-22
  • 2012-09-11
  • 2010-09-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多