Трудно ответить полностью, поскольку вы не даете нам G
, который используете, поэтому мы не можем воспроизвести вашу проблему напрямую;Я попытаюсь ответить так или иначе «на сухом»:
Полученные сообщения об ошибках означают, что временные файлы DOT, созданные neato
в draw_dot
не может быть прочитано должным образом;строка в файле точек, которая анализируется dot_to_graph
с использованием строки формата pos = "%d,%d"
, должна содержать два числа, например pos ="42,3"
, но sscanf
MATLAB читает только одно число из этой строки.
Возможно ли, что ваш новый компьютер использует другую настройку языка, то есть использует десятичную запятую вместо десятичной точки?Это может привести к тому, что Matlab прочитает два числа как одно, не зная, как sscanf
адаптируется к локальным настройкам десятичной точки.
В противном случае, вы все еще используете ту же версию neato
как прежде?Может ли быть так, что формат его вывода каким-то образом изменился?
Лучший способ выяснить это - установить точку останова отладки в ошибочной строке 94 ([node_pos] = sscanf(line(pos_pos:length(line)), ' pos = "%d,%d"')';
) и проверить, что оценивает line(pos_pos:length(line))
к.