MATLAB爱好者论坛-LabFans.com

MATLAB爱好者论坛-LabFans.com (https://www.labfans.com/bbs/index.php)
-   资料存档 (https://www.labfans.com/bbs/forumdisplay.php?f=72)
-   -   Matlab相当于Python的“无” (https://www.labfans.com/bbs/showthread.php?t=22906)

poster 2019-12-10 16:49

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来确定调用函数时此处提供了多少个输入参数。

从[URL="http://www.mathworks.com/access/helpdesk/help/techdoc/matlab_prog/bresuxt-1.html#br67di7-1"]MATLAB文档中[/URL] :
[INDENT]使用nargin和nargout函数,可以确定调用一个函数有多少个输入和输出参数。然后,您可以根据条件数量使用条件语句执行不同的任务。例如,

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

[/INDENT]
[url=https://stackoverflow.com/questions/1737523]更多&回答...[/url]


所有时间均为北京时间。现在的时间是 10:26

Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.