matlab - 如何选择将一个参数的值传递给具有多个输入的 MATLAB 函数?
问题描述
function [c,tc]=v_melcepst(s,fs,w,nc,p,n,inc,fl,fh)
这个函数有多个输入参数,但我只想指定nc
参数的值。
在 Python 中,我可以轻松地做类似的事情v_melcepst(nc=13)
,但我找不到 MATLAB 的等价物。
这在 MATLAB 中是不可能的吗?我必须传递默认值吗?
解决方案
这在 MATLAB 中确实是不可能的。参数是连续的,由它们在参数列表中的位置标识。
如果您v_melcepst
自己编写函数,则可以重写它以接受“名称/值对”,这是 MATLAB 中执行命名参数的标准方式。在这个系统中,两个参数组一起作为单个命名参数工作。您可以将该函数称为
[c,tc] = v_melcepst('nc',nc);
您可以使用旧inputParser
类(在 R2007a 中引入)或使用新的函数参数块(在 R2019b 中引入)来实现这一点。
推荐阅读
- flutter - RangeError(索引):无效值:有效值范围为空:1
- javascript - 如何在移动 REACT JS 中将方向设置为横向
- javascript - 如何更改 Google Maps API 绘图层控件中使用的默认标记
- java - 如何在 Vaadin 8 中创建对话窗口?
- c# - 从类获取数据到控制器
- amazon-web-services - 什么是 Azure SignalR 服务的 AWS 完美替代品?
- express - 无论我使用错误处理程序从 express 发送什么错误,都会得到错误代码 500?
- c++ - C++:在子类中扩展静态 STL 容器/映射成员?
- python - Pandas Dataframes,如何摆脱每个特定列或索引的 NaN 和重复项?
- jquery - 创建一个可以判断 YouTube 频道是否直播的 Jquery 函数