Matlab 2012 не выполняет мои функции должным образом

Я написал этот m-файл

function adhamm = adhamm(a,b)
    adhamm = a+b
end

и когда я пытаюсь запустить его через командную строку MATLAB, написав

a = 2;
b = 3;
adhamm(a,b);

я получаю эту ошибку

Неопределенная функция adhamm для входных аргументов типа double.

Почему это?


person 3m masr    schedule 15.04.2012    source источник
comment
это звучит неправильно. Попробуйте ввести which adhamm. Это, вероятно, не на вашем пути.   -  person Richante    schedule 15.04.2012
comment
Ваш код работает для меня. Вы уверены, что не забыли создать функцию вместо скрипта?   -  person AlexanderN    schedule 15.04.2012
comment
Я попробовал еще раз, и это сработало! это происходит много раз после этого, все, что я сделал, это перезапустил Matlab!   -  person 3m masr    schedule 16.04.2012


Ответы (3)


Эти функции не были помещены в путь поиска новой версии. MATLAB просто не знает, где их найти. Однако НЕ помещайте их в каталог набора инструментов MATLAB. Это не место для ваших собственных функций. Поместите их в отдельный каталог, который вы сообщите MATLAB, как найти с помощью инструментов пути. (Если вы перейдете в этот каталог, MATLAB будет автоматически искать его, но это не очень хорошее решение.)

Вам нужно узнать о пути поиска в Matlab, и инструменты Matlab должны поддерживать пути поиска. Таким образом, addpath, savepath, rmpath, pathtool.

person Community    schedule 15.04.2012
comment
@3mmasr: Или вы можете поместить свою функцию в каталог, определенный n userpath. - person Jonas; 15.04.2012

вы сохранили свою функцию под именем adhamm.m, верно? Затем попробуйте выполнить функцию в папке adhamm.m.

person mike    schedule 15.04.2012

Вероятно, вы сохранили переменную с именем adhamm. Введите clear adhamm и повторите попытку.

person Oli    schedule 15.04.2012