首页 > 解决方案 > 如何选择将一个参数的值传递给具有多个输入的 MATLAB 函数?

问题描述

function [c,tc]=v_melcepst(s,fs,w,nc,p,n,inc,fl,fh)

这个函数有多个输入参数,但我只想指定nc参数的值。

在 Python 中,我可以轻松地做类似的事情v_melcepst(nc=13),但我找不到 MATLAB 的等价物。

这在 MATLAB 中是不可能的吗?我必须传递默认值吗?

标签: matlabfunctioninput-parameters

解决方案


这在 MATLAB 中确实是不可能的。参数是连续的,由它们在参数列表中的位置标识。

如果您v_melcepst自己编写函数,则可以重写它以接受“名称/值对”,这是 MATLAB 中执行命名参数的标准方式。在这个系统中,两个参数组一起作为单个命名参数工作。您可以将该函数称为

 [c,tc] = v_melcepst('nc',nc);

您可以使用旧inputParser类(在 R2007a 中引入)或使用新的函数参数块(在 R2019b 中引入)来实现这一点。


推荐阅读