Я следую онлайн-курс, чтобы изучать и практиковать Matlab. В курсе, ребята пишут:
basefilename = 'testfile';
filename = [basefilename num2str(1) ".mat"]
и Matlab возвращает:
testfile1.mat
Однако, когда я ввожу один и тот же вход, я получаю следующее:
filename =
1×3 string array
"testfile" "1" ".mat"
Я попробовал более обычный метод конкатенации, введя
filename = [basefilename + "1" + ".mat"]
и верный вывод:
testfile1.mat
Однако при изменении "1"
на num2str(1)
(чтобы заменить число на переменную, которая позже может изменяться в цикле for):
filename = [basefilename + num2str(1) + ".mat"]
Я получаю совершенно другой вывод:
filename =
1×8 string array
"165.mat" "150.mat" "164.mat" "165.mat" "151.mat" "154.mat" "157.mat" "150.mat"
Мне было интересно,кто-то может объяснить, почему каждый метод ввода возвращает такие резко отличающиеся результаты. Мне кажется, что все три метода должны возвращать одно и то же ...