Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
![]() |
#1 |
高级会员
注册日期: 2019-11-21
帖子: 3,006
声望力: 66 ![]() |
![]()
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允许您保留可变数量的最终参数,但这并不能解决某些/全部默认值的问题。 更多&回答... |
![]() |
![]() |