Я использую Matlab 2018b в Windows 10. Я понимаю, что для конкатенации строк Matlab требуются входные аргументы при конкатенации, чтобы они представляли собой массив символов, массив ячеек векторов символов или массив строк, как указано в https://de.mathworks.com/help/matlab/ref/strcat.html. Исходя из этого, я ожидал ошибку при попытке сделать следующее:
[1, 'some_string']
или
strcat(1, 'some_string')
Но я не получаю никакого сообщения об ошибке. Вместо этого получите вывод, как показано на снимке ниже:
![enter image description here](https://i.stack.imgur.com/elskM.png)
Исходя из нижеприведенного, похоже, что автоматическое преобразование типов выполняется для 1 с double
до char
, но, похоже, что-то не так в процессе, в результате которого 1 заменяется на мусорный символ. Любое понимание этого, пожалуйста?
x = strcat(1, 'some_string');
class(x(1))
ans =
'char'