2

Matlab関数を書いているところですが、必要なものをコピーしてインタラクティブセッションに貼り付けたいと思っていました。それのいくつかはnarginステートメント(例えばif nargin < 1; a = 0; end;)でした、そしてそれはnargin私がそれを割り当てなかった私のワークスペースで値11005を持っていたことがわかりました。これが何であるか、(関数以外で)何かに使用されているかどうか、ゼロに設定することに問題があるかどうかを誰かが知っていますか?

4

1 に答える 1

3

関数内で使用する場合、narginその関数に渡されるパラメーターの数を示します。文字列引数とともに使用すると、fn関数によって取得されたパラメーターの数を返す組み込み関数fnです。ワークスペースからのパラメーターなしで呼び出すことはできません。

narginは、現在実行中の関数の呼び出しで渡された入力引数の数を返します。このnargin構文は、関数の本体でのみ使用してください。

可能ですが、に値を割り当てることは避けてくださいnargin。2番目のセマンティクスが失われるためです。

nargin('sparse')

ans =

 6

nargin = 0;
nargin('sparse')
Index exceeds matrix dimensions.
于 2012-11-27T13:47:16.287 に答える