2016-10-14 12 views
2

piの代わりにpi()をMatlabで誤って使用しましたが、pi(組み込み定数)と同じように動作します。matlabで `pi()`の意味を知っている人は誰ですか?

>> pi() ans = 3.1416

>> pi ans = 3.1416

しかし、我々はここでMATLAB言語での構文pi()を理解することはできません。関数として解釈しようとしましたが、入力引数を取ることができないというエラーを返しました。

>> pi(1) Error using pi Too many input arguments.

誰もが私たちがここを逃しているかについて、私たちを啓発することはできますか?ありがとう。

答えて

5

piは実際には入力を受け付けない関数です。そのため、pi()piを呼び出すと、両方とも入力なしでpiが呼び出されているため、同じ結果になります。一般に、ff()を実行すると、fは関数であり、どちらも入力なしでfが呼び出されているのと同じことを意味します。

詳細については、公式ドキュメントを参照してください。https://www.mathworks.com/help/matlab/matlab_prog/create-functions-in-files.html#bvf7wa9(オプション)見出し入力引数の下では、それは読む:あなたの関数は、任意の入力を受け入れ

場合は、関数名の後の括弧内に自分の名前を囲みます。入力はコンマで区切ります。
function y = myFunction(one,two,three)
入力がない場合は、かっこは省略できます。 pipi()は同じことを意味する理由

...ようです。

+1

ありがとうございました。 –

-1

編集: pi()はmatlabの関数です。それは3.1415を返します....しかし、関数に引数がない場合、matlabはに '()'というを必要としません。そのため、piと入力するだけです。それは本当にとても賢いです。 Matlabコーディングの構文は、数学的な明快さに最適化されています。

もう1つの例は、filesep()コマンドです。 filesepと入力すれば動作します。私がこれをコメントにすることができれば、私はそうするでしょう。

+0

これはどのようにして質問に答えますか? – rayryeng

+0

@rayryengそれは本当にありません。私が言ったように、私は前の答えに対するコメントとしてそれを入れることができたと思ったが、十分な評判はなかった。 – bwall

関連する問題