我正在Windows 10上使用Matlab 2018b。我了解Matlab字符串串联需要在串联下的输入参数是字符数组,字符向量的单元格数组或https://de.mathworks.com/help/matlab/ref/strcat.html中提到的字符串数组。基于此,我在尝试执行以下操作时会遇到错误:
[1, 'some_string']
或
strcat(1, 'some_string')
但是我没有收到任何错误消息。而是获取如下快照中所示的输出:
根据下面的内容,看起来好像正在从double
到char
进行1的自动类型转换,但是似乎在处理过程中出错,导致1被垃圾字符替换。请问对此有何见识?
x = strcat(1, 'some_string');
class(x(1))
ans =
'char'
答案 0 :(得分:3)
Matlab将1
视为ASCII码,与start of heading
字符相对应,该字符正显示为您看到的正方形。
如果您例如做strcat(65, 'some_string')
,它会返回Asome_string
,因为ASCII码65对应于大写字母A
。