взлом

Открытая медицинская библиотека

Статьи и лекции по медицине ✚ Библиотека студента-медика ✚ Болезни и способы их лечения.

Хирургия Error( 'Bad 1st and 2nd parameters' )
просмотров - 308

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