Категории
Хирургия
Error( 'Bad 1st and 2nd parameters' ) просмотров - 370
End
A = X1 .* X2 * x;
B = X1 .* X2 + x;
Теперь при вызове функции MatrProc1 с неправильными размерами первого и второго аргументов, стандартная функция системы MATLAB error будет корректно останавливать всю работу и выводить в командное окно MATLABа наше диагностическое сообщение ( аргумент функции error ), после чего пользователю останется лишь повторно вызвать функцию MatrProc1, но уже с правильными параметрами.
Затем нужно добавить ещё проверку третьего параметра на скалярность, что можно выполнить следующим фрагментом кода:
[ m ,n ] = size( x );
if ( m ~=1 | n ~= 1 )
Error( 'Bad 3d parameter' )
End
Наконец, неплохо проверить общее число параметров, с которыми функция была вызвана. Для этой цели в системе MATLAB специально предусмотрена переменная с именем nargin. Её значением является количество аргументов, фактически переданное функции при вызове. Тогда проверка на число параметров выполняется следующим образом:
if nargin ~= 3
Error( 'Bad number of parameters' )
End
Более того, в системе MATLAB предусмотрена переменная nargout, содержащая число возвращаемых значений, предполагающихся в реальной форме вызова этой функции. К примеру, вызов
[ s1, s2, s3 ] = MatrProc1( x1, x2, x)
предполагает получить аж три возвращаемых значения, в то время как из определения функции следует, что возвращаемых значений у этой функции два. Чтобы предупредить пользователя функции о несовпадении числа ожидаемых возвращаемых значений их номинальному числу, нужно в теле функции осуществить проверку переменной nargout:
if nargout ~= 2