notation

 采纳的回答

Wayne King
Wayne King 2011-11-7

0 个投票

Then somefunction.m does not take input arguments for example:
function x = somefunction
x = 2;
end
if you call
x = somefunction()
you get x = 2
you can also just enter
x = somefunction;

更多回答(2 个)

Wayne King
Wayne King 2011-11-7

0 个投票

The way you've written it, it implies that you are calling a function called somefunction that returns an output x. Inside the parentheses is where you supply any input arguments, name-value pairs, etc.

1 个评论

Baba
Baba 2011-11-7
but in the code that I have, there are no parameters inside the parenthese.

请先登录,再进行评论。

Walter Roberson
Walter Roberson 2011-11-7

0 个投票

Then it is a function call with no parameters supplied.
Ordinary MATLAB functions that do not need a parameter, can be called either with the () notation or just by giving the function name. For example,
x = pi + rand;
is equivalent to
x = pi() + rand();
as "pi" and "rand" are both functions in MATLAB.
However, if somefunction were a function handle, then
x = somefunction;
would not call the function: instead it would copy the function handle. But
x = somefunction();
would invoke the function whether it was a regular function or a function handle.

类别

帮助中心File Exchange 中查找有关 Function Creation 的更多信息

标签

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by