2012-04-15 3 views
0

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

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

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

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

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

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

Почему это?

+1

это звучит неправильно. Попробуйте ввести 'adhamm'. Вероятно, это не на вашем пути. – Richante

+0

Ваш код работает для меня. Вы уверены, что не забыли создать функцию вместо скрипта? –

+0

Я попробовал еще раз, и это сработало! , который случается много раз после, все, что я сделал, это то, что я перезапустил Matlab! –

ответ

0

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

1

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

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

+0

@ 3mmasr: Или вы можете поместить свою функцию в каталог, определенный n 'userpath'. – Jonas

0

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