Error( 'Bad 1st and 2nd parameters' )
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
Дата добавления: 2015-01-18 | Просмотры: 531 | Нарушение авторских прав
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 |
|