带有不同数据类型的Matlab字符串串联行为

时间:2019-03-24 17:00:47

标签: matlab

我正在Windows 10上使用Matlab 2018b。我了解Matlab字符串串联需要在串联下的输入参数是字符数组,字符向量的单元格数组或https://de.mathworks.com/help/matlab/ref/strcat.html中提到的字符串数组。基于此,我在尝试执行以下操作时会遇到错误:

[1, 'some_string']

strcat(1, 'some_string')

但是我没有收到任何错误消息。而是获取如下快照中所示的输出:

enter image description here

根据下面的内容,看起来好像正在从doublechar进行1的自动类型转换,但是似乎在处理过程中出错,导致1被垃圾字符替换。请问对此有何见识?

x = strcat(1, 'some_string');
class(x(1))

ans =

    'char' 

1 个答案:

答案 0 :(得分:3)

Matlab将1视为ASCII码,与start of heading字符相对应,该字符正显示为您看到的正方形。

如果您例如做strcat(65, 'some_string'),它会返回Asome_string,因为ASCII码65对应于大写字母A