2017-09-11 11 views
2

Matlabの関数を呼び出すためのコマンド構文と関数の構文はtwo waysです。私はここで誰かが書いたコードを表示しています 1つの.mファイルに次のようにステートメントがあります:matlab関数のコマンド構文はまだ出力を生成しますか?

params=sys_params; 

sys_paramsは、次のように別の.mファイルに関数として定義されている間:

function params=sys_params() 

paramsは構造体であることがあります。 私が知りたいのは、Matlabのドキュメントによれば、コマンド構文を関数から出力することができない場合、最初の文はどのように完全にうまく機能していますか?

+0

コードの2行目は、関数定義、つまり関数自体の開始です。コードの最初の行は*その機能を使用します。これらのどちらも実際にはコマンド構文を使用しません。これは入力引数がある場合にのみ関係します... – Wolfie

+0

sys_paramsは引数なしで呼び出されたので、呼び出しが曖昧になりました。コマンド構文。 – alannaC

答えて

2

2つのこと:

  1. 引数が渡されたときにコマンドと機能構文の区別が戦場に出ました。
  2. MATLABで関数を呼び出すためのカッコは、引数なしで呼び出すときはオプションです。 MATLABは他の言語とは異なり、()を呼び出さずに関数を呼び出します。

    ただし、関数ハンドル/匿名関数を呼び出すには、()が必要です。ない明示的あいまいなもの

    のみ関数名を入力し、任意の入力を必要とせず、任意の出力を返さない関数を呼び出すこと

    Calling Functionsから

そのような関数呼び出しの出力を割り当てることは完全に有効であると言われています。


私はそれがAT-最初の一目関数呼び出しを隠すように私は本当に()のようなオプションであるしていないことに注意しましょう。したがって、できるだけ頻繁に()を使用して、私が関数を呼び出すようにしようとしています。そのため、スクリプトのほぼすべてがclc();clear();で始まります。

+0

ああ、ありがとう、それは今完璧な意味がある、 – alannaC

関連する問題