档案交换一周

我们最好的用户提交

使用R2019B - 功能参数验证

Jiro本周的选择是Function Argument Validation,这是我真的很兴奋的新R2019b功能。

如果您搜索“功能参数验证”or“输入验证”在文件交换中,您会看到很多条目。有些是进行验证的实际实用程序,而另一些是定期的条目,其中内部具有验证功能。也有参数解析可选参数的条目。

输入验证可能是一项繁琐的任务,可能需要彻底考虑逻辑以确保强大的代码。让我们看看一个例子。

假设我想创建一个函数,该函数采用任意数量的数据集并创建重叠的直方图。此外,我希望该函数使用可选的参数值对输入来自定义图的某些属性。因此,输入参数看起来像这样:

myhistogram (DATA1、DATA2……PARAM1 VALUE1,标准AM2, VALUE2, ...)

您可以想象实施这可能是多么棘手。可行,但乏味。我需要进行一些解析才能首先查看传递多少个数据集。我可以通过从第一个输入中检查一下,以查看它是否不是我要寻找的参数名称。之后,我反复检查参数值对,并将值分配给适当的参数。再次可行,但乏味。

通过新的函数参数验证,可以以紧凑,易于理解的方式表示解析和验证。这是整个代码:

让我们看看它的工作原理。

data1 = randn(2000,1);data2 = 1 + randn(5000,1);data3 = 3 + randn(4000,1);myHistogram(data1,data2,data3)

我可以用一些参数称呼它

myHistogram(data1,data2,data3,'nbins',25,“ Showlegend”,真的)

If I mistype my parameters, the validation functions catch the error.

trymyHistogram(data1,data2,data3,'nbins',,,,5.5,“ Showlegend”,真的)抓住我disp(me.message)结尾
无效的名称值参数“ nbins”。价值必须是整数。

Comments

Give it a try and let us know what you thinkhere




与Matlab®R2019B一起出版

|
  • 打印
  • 发送电子邮件

댓글

댓글을남기려면링크를클릭하여하여계정계정하거나계정만드십시오만드십시오만드십시오。