I wanna define function which has flexible number of argument.

2 次查看(过去 30 天)
Hello and happy new year!
Now I'm considering to define function which has flexible arguments.
For example, let's have function F which full argument number is 3 such as F(a,b,c)
If b is 0, user don't need to assign c thus F(a,b) is enough. Otherwise full argument assignment is required.
Can I make this kind of flexible function?

采纳的回答

Shoaibur Rahman
Shoaibur Rahman 2014-12-26
编辑:Shoaibur Rahman 2014-12-26
function out = F(varargin)
% do stuffs
% y = varargin{1}+varargin{2}
% out = y+1; etc.
For flexible number of outputs:
function varargout = F(varargin)
% do stuffs
% varargout{1} = varargin{1}-varargin{2}
% etc.
  3 个评论
Shoaibur Rahman
Shoaibur Rahman 2014-12-29
This should work in this way. Anyway, it would be better to see the part of your code and the errors generated by the code.
Dong-Gyu Jang
Dong-Gyu Jang 2014-12-30
Oh, you're right. I've just not known varargin and used arbitary variable name. As the result, it was not operated! Thanks to your advice! my function is now upgraded:)

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Logical 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by