在MATLAB数组中存储字符

时间:2011-03-09 13:42:13

标签: matlab

我想存储一个角色和数字?是否只使用Cell?

2 个答案:

答案 0 :(得分:-1)

是的,除非您存储ASCII值,但我认为它不会非常有用。

编辑:或结构数组?

a.num = [1 2 3]
a.char = 'A'

我不确切地知道你想要实现的目标......

答案 1 :(得分:-1)

这是一个经典的计算机科学101类问题。数组传统上保存1种类型的数据。在matlab中,这个词被滥用了。

以下是一些需要了解的事项:

  • 字符数组称为字符串
  • 数组只能存储一种数据类型
  • 数组的大小无法更改

但是matlab在所有这些方面都有一个抽象,所以没有学习一年编程的工程师仍然可以完成工作。虽然matlab允许您更改1D矩阵的大小,但它仍然不会让您在同一阵列中拥有不同类型的数据。请记住,matlab 1D数组不是严格的数组,因为这个事实。与具有不同大小的阵列数组类似。出于优化原因,Matlab不允许使用不同的数据结构。 这个问题源于不了解可用的容器。

  • 列表:容器索引元素(非常适合快速排序和添加元素)
  • 设置:获取一系列独特元素(非常适合确保没有重复)
  • 地图:非常适合根据唯一标识符快速检索元素 Java有这些的实现,你可以在matlab中使用它们,如果你想要的话,如果你需要一个矩阵以外的集合,这是一般的方式。我不认为matlab会自己包装这些类,因为它们完全相同。

一般来说,如果你可以避免在这些集合中存储不同的数据类型,这不是一个好主意,这样做,但除此之外就是这样。

PS我不认为应该使用结构,因为没有调试它们就无法知道他们有什么成员。

如果你这样做

a.num = [1 2 3]
a.char = 'A'

除非你告诉每个人a.num和a.char存在,否则无法知道a有char和num,而没有运行代码。坏习惯。