Обучавам се на основите на MATLAB и съм заседнал как да създавам грешки за функции. Ето моят опит:
function kinetic = KE(m,v)
KE = 0.5*m*v*v
%error messages
if (isempty(m))
% mass is empty
error('No mass given (argument 1)');
elseif (isempty(v))
% velocity is empty
error('No velocity given (argument 2)');
end
fprintf('The kinetic energy is %d joules\n', KE);
Така че, ако потребителят не посочи 2 променливи, функцията дава грешка, казвайки на потребителя коя променлива не е посочил. Когато се опитам да получа това съобщение за грешка, MATLAB връща общо съобщение за грешка:
kinetic(,3)
kinetic(,3)
|
Error: Expression or statement is incorrect--possibly unbalanced (, {, or [.
Не знам как да поправя това. Опитах да заменя аргументите на isempty
с arg1
или arg2
, но нямаше значение. След това се опитах да копирам примерния код на http://www.mathworks.co.uk/help/matlab/ref/error.html, но пак не помогна.
Как се генерират конкретни грешки за функции на няколко променливи?
Знам, че това е доста основен въпрос, всяка помощ ще бъде оценена.
kinetic(,3)
е просто невалиден синтаксис на Matlab. Не можете да пишете това. - person Oliver Charlesworth   schedule 12.10.2014