查看单个帖子
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 Matlab相当于Python的“无”

Matlab中是否有一个关键字大致等同于python中的None ?

我试图用它来标记一个函数的可选参数。我正在翻译以下Python代码

def f(x,y=None): if y == None: return g(x) else: return h(x,y) 进入Matlab

function rtrn = f(x,y) if y == []: rtrn = g(x); else rtrn = h(x,y); end; end 如您所见,当前我正在将[]用作None 。有一个更好的方法吗?


回答:
根据您的具体情况。您可以使用nargin来确定调用函数时此处提供了多少个输入参数。

MATLAB文档中
使用nargin和nargout函数,可以确定调用一个函数有多少个输入和输出参数。然后,您可以根据条件数量使用条件语句执行不同的任务。例如,

function c = testarg1(a, b) if (nargin == 1) c = a .^ 2; elseif (nargin == 2) c = a + b; end
给定单个输入参数,此函数将输入值平方。给定两个输入,它将它们加在一起。

更多&回答...
poster 当前离线   回复时引用此帖