Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 其它 > 资料存档
资料存档 资料存档
回复
 
主题工具 显示模式
旧 2019-12-10, 16:49   #1
poster
高级会员
 
注册日期: 2019-11-21
帖子: 3,006
声望力: 66
poster 正向着好的方向发展
帖子 如何在Matlab中为函数参数设置默认值?

Matlab中可以有默认参数吗?例如,在这里:

function wave(a, b, n, k, T, f, flag, fTrue=inline('0')) 我希望真正的解决方案是wave函数的可选参数。如果有可能,谁能证明这样做的正确方法?目前,我正在尝试上面发布的内容,然后得到:

??? Error: File: wave.m Line: 1 Column: 37 The expression to the left of the equals sign is not a valid target for an assignment.
回答:
没有像您尝试的那样直接执行此操作的方法。

通常的方法是使用“ varargs”并对照参数数量进行检查。就像是:

function f(arg1, arg2, arg3) if nargin < 3 arg3 = 'some default' end end 使用isempty等可以做一些更isempty事情,并且您可能想看一下Matlab isempty ,找到一些捆绑了这些东西的软件包。

您可能会看到varargin , nargchk等。它们对于这种事情很有用。 varargs允许您保留可变数量的最终参数,但这并不能解决某些/全部默认值的问题。



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


发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛禁用 表情符号
论坛启用 [IMG] 代码
论坛启用 HTML 代码



所有时间均为北京时间。现在的时间是 01:40


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