Что такое Nargin вне функции?

Я просто писал функцию Matlab и хотел скопировать и вставить то, что у меня было, в интерактивный сеанс. Некоторые из них были nargin заявления (например, if nargin < 1; a = 0; end;) и получается, что nargin имел значение 11005 в моей рабочей области, без моего назначения. Кто-нибудь знает, что это такое, используется ли оно для чего-либо (вне функций) и есть ли какие-либо проблемы с его установкой на ноль?

1 ответ

Решение

Когда используется внутри функции, nargin дает количество параметров, переданных этой функции. Используется со строковым аргументом fn это встроенная функция, которая возвращает количество параметров, принятых функцией fn, Вы не должны вызывать его без параметра из рабочей области:

nargin возвращает количество входных аргументов, переданных в вызове текущей выполняемой функции. Используйте этот синтаксис nargin только в теле функции.

Вы можете, но вы должны избегать присвоения значения nargin, поскольку он потеряет вторую семантику:

nargin('sparse')

ans =

 6

nargin = 0;
nargin('sparse')
Index exceeds matrix dimensions.
Другие вопросы по тегам