Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在MATLAB数组中存储字符_Matlab - Fatal编程技术网

在MATLAB数组中存储字符

在MATLAB数组中存储字符,matlab,Matlab,我想存储一个字符和数字?使用单元格是唯一的方法吗?是的,除非存储ASCII值,但我认为它不会很有用 编辑:还是一组结构 a.num = [1 2 3] a.char = 'A' 我不知道你到底想实现什么…这是一个经典的计算机科学101类问题。一个数组保存1种类型的数据。在matlab中,这个词被滥用 以下是一些需要知道的事情: 字符数组称为字符串 一个数组只能存储一种数据类型 数组的大小不能更改 但是matlab在所有这些之上有一个抽象概念,所以一年没有学习编程的工程师仍然可以完成这项工作

我想存储一个字符和数字?使用单元格是唯一的方法吗?

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

编辑:还是一组结构

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

我不知道你到底想实现什么…

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

以下是一些需要知道的事情:

  • 字符数组称为字符串
  • 一个数组只能存储一种数据类型
  • 数组的大小不能更改
但是matlab在所有这些之上有一个抽象概念,所以一年没有学习编程的工程师仍然可以完成这项工作。虽然matlab允许您更改一维矩阵的大小,但它仍然不允许在同一数组中有不同类型的数据。请记住,Matlab1D数组并不是严格意义上的数组,因为这是一个事实。类似地,对于大小不同的数组的数组。由于优化原因,Matlab不允许使用不同的数据结构。 这个问题源于不知道可用的容器

  • 列表:索引元素的容器(非常适合快速排序和添加元素)
  • 集合:用于唯一元素的集合(非常适合确保没有重复)
  • Map:非常适合基于唯一标识符快速检索元素 Java有这些实现,如果需要,可以在matlab中使用这些实现。如果需要矩阵以外的集合,这是实现这些实现的一般方法。我不认为matlab会费心去包装这些类,因为它们的anway完全相同
一般来说,在这些集合中存储不同的数据类型不是一个好主意,如果可以避免的话,就这样做,否则就这样吧

另外,我不认为应该使用结构,因为如果不调试它们,就无法知道它们有哪些成员

如果你这样做

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

除非您告诉所有人a.num和a.char存在,否则如果不运行代码,就无法知道a有char和num。糟糕的做法。

你怎么知道什么是ascii,什么是数字,那是错误的。留给读者做练习并不意味着错误。当然你需要知道哪个是哪个。根据应用程序的不同,您可能只知道哪些索引对应于ascii值,或者可以保留一个逻辑数组用作掩码,或者其他…