相关疑难解决方法(0)

如何在Matlab中设置函数参数的默认值?

是否可以在Matlab中使用默认参数?例如,这里:

function wave(a, b, n, k, T, f, flag, fTrue=inline('0'))
Run Code Online (Sandbox Code Playgroud)

我想让真正的解决方案成为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.
Run Code Online (Sandbox Code Playgroud)

matlab arguments default

120
推荐指数
7
解决办法
10万
查看次数

如何在MATLAB中处理函数参数的名称/值对

我有一个函数,它将可选参数作为名称/值对.

function example(varargin)
% Lots of set up stuff
vargs = varargin;
nargs = length(vargs);
names = vargs(1:2:nargs);
values = vargs(2:2:nargs);

validnames = {'foo', 'bar', 'baz'};    
for name = names
   validatestring(name{:}, validnames);
end

% Do something ...
foo = strmatch('foo', names);
disp(values(foo))
end

example('foo', 1:10, 'bar', 'qwerty')
Run Code Online (Sandbox Code Playgroud)

似乎在提取适当的值时需要付出很多努力(并且它仍然不是特别强大的再次严格指定的输入).有没有更好的方法来处理这些名称/值对?是否有MATLAB附带的辅助函数可以提供帮助?

matlab arguments function name-value function-parameter

65
推荐指数
6
解决办法
4万
查看次数

在MATLAB中有选择地指定可选功能参数

可能重复:
Matlab中的默认参数

我有一个函数,大约有7个参数要传递.其中3个是强制性的,其余4个是可选参数.我想只传递前3个和最后一个参数.我该怎么做呢?

我们假设函数是:function [...] = fun(a,b,c,d,e,f,g)

a,b,c - 所需的输入.

d,e,f,g - 可选输入.

我想打电话给乐趣并传递a,b,c和g的值.

在R中,我可以用非常简洁的方式指定它:fun(a = 1,b = 4,c = 5,g = 0);

matlab中的等效语法是什么?

matlab

3
推荐指数
1
解决办法
6005
查看次数