Вопрос:
У меня есть следующий вызов функции:
callfun(I1, I2, [X Y ones(n,1)], w, m)
Но, я получаю:
Error: File: callfun.m Line: 20 Column: 3 Unexpected MATLAB expression.
Почему это?
Благодарю.
Лучший ответ:
Ошибка говорит, что ваша функция callfun имеет синтаксическую ошибку в строке 20. Вероятно, некоторый символ, который не разрешен.
Ответ №1
Это может быть также проблема дублирования определения функции. Функция внутри callfun.m может иметь то же имя, что и встроенная функция MATLAB, что дает ошибку.
С :
У вас есть пользовательские функции, называемые builtin, strjoin или strsplit? MATLAB имеет эти внутренние значения, и любые внешние функции, которые затеняют эти встроенные, приводят к этой ошибке. Если вы не уверены, создали ли вы такие функции, введите команду:
>>which functionName -all
покажет вам путь ко всем элементам пути MATLAB с именем “functionName”