主要内容

创建自定义设置

设置提供了一种方法以编程方式存储、访问和修改数据的当前会话或跨多个会话。默认情况下,MATLAB®和其他MathWorks®下载188bet金宝搏产品包括设置可以用来访问和修改工具的外观和行为。例如,MATLAB包括设置,使您能够以编程方式更改字体对某些代码的工具。

您可以创建自定义设置跨会话存储和访问自己的数据。例如,您可以创建设置存储的位置重要的文件夹在您的系统或跟踪文件的次数。

添加和删除设置组

设置分组。分组的设置使它更容易找到一个特定的设置,还提供了额外的上下文设置用于什么。例如,matlab.editor设置组包含的所有设置特定于MATLAB编辑器。设置组被组织成更大的组织,形成一个树。顶部的树是根设置组对象。

要添加一个新的设置组,使用addGroup函数。例如,创建设置组mysettings下根设置组对象。

s =设置;addGroup(年代,“mysettings”);年代
s = SettingsGroup属性:matlab: [1×1 SettingsGroup] mysettings: [1×1 SettingsGroup] mldrivetripwireaccess: [1×1 SettingsGroup]

创建一个隐藏设置组没有出现在层次结构的设置,例如当你显示父设置组,指定“隐藏”名称-值对。隐藏设置组没有出现在父设置组,但可以通过编程方式访问。例如,创建设置组myhiddensettings内部mysettings。请注意,myhiddensettings不显示在mysettings

addGroup (s.mysettings“myhiddensettings”,“隐藏”,真正的);s.mysettings
ans = SettingsGroup mysettings没有属性。

删除设置组,使用removeGroup函数。例如,删除myhiddensettings

removeGroup(年代,“myhiddensettings”);

添加和删除的设置

要添加一个新的设置,可以使用addSetting函数。例如,添加设置MyWorkAddressmysettings设置组。

s =设置;addGroup(年代,“mysettings”);addSetting (s.mysettings“MyWorkAddress”);

请注意

添加设置不支持直接根设置组。金宝app

一旦您已经创建了一个环境,你可以给它一个值。一个设置有多个不同的值类型,让您设置值仅为当前会话为单个用户或多个会话。有关这些类型的值的更多信息,请参阅访问和修改设置

指定一个值设置,设置其个人或临时值。你不能指定工厂值为一个自定义设置。例如,指定的个人价值MyWorkAddress

s.mysettings.MyWorkAddress。PersonalValue =' 3苹果山开车';

然后您可以使用设置值以编程方式在您的代码中。

流(“我在% s工作。\ n”s.mysettings.MyWorkAddress.ActiveValue)
我在3个苹果山开车工作。

添加一个隐藏设置,使用“隐藏”名称-值对的论点。隐藏设置不显示在设置层次结构,例如当你显示父设置组,但可以通过编程方式访问。例如,添加隐藏设置MyHiddenWorkAddressmysettings设置组并设置其个人价值。

addSetting (s.mysettings“MyHiddenWorkAddress”,“隐藏”,真的,“PersonalValue”,“1湖滨校区驱动”);

你也可以添加使用只读设置“只读”名称-值对的论点。一旦你创建一个只读的设置,你不能改变它的临时或个人价值。因此,您必须指定设置当您添加的个人价值。例如,添加只读设置MyBirthDatemysettings设置组指定的个人价值。

替换= datetime (“6/1/1990”,“InputFormat”,“MM / dd /哦哦”);addSetting (s.mysettings“MyBirthDate”,“只读”,真的,“PersonalValue”,替换);

验证设置使用函数

可以施加特定的限制设置值通过指定验证函数设置或组。验证函数接受一个潜在的设置值作为参数,并抛出一个错误如果值不满足特定的要求。

MATLAB定义了几个有用的验证功能,可以用来验证设置。此表列出了这些函数,它们的含义,他们用MATLAB函数。

的名字

意义

功能要求输入

matlab.settings.mustBeStringScalar(一)

一个必须是一个字符串标量。

isStringScalar

matlab.settings.mustBeLogicalScalar(一)

一个必须是一个逻辑标量。

islogical,isscalar

matlab.settings.mustBeNumericScalar(一)

一个必须是一个数字标量。

isnumeric,isscalar

matlab.settings.mustBeIntegerScalar(一)

一个必须是一个整数标量。

isinteger,isscalar

mustBePositive(一)

> 0

gt,伊斯雷尔,isnumeric,islogical

mustBeNonpositive(一)

< = 0

通用电气,伊斯雷尔,isnumeric,islogical

mustBeFinite(一)

一个没有也没有元素。

isfinite

mustBeNonNan(一)

一个没有元素。

isnan

mustBeNonnegative(一)

> = 0

通用电气,伊斯雷尔,isnumeric,islogical

mustBeNegative(一)

< 0

lt,伊斯雷尔,isnumeric,islogical

mustBeNonzero(一)

~ = 0

情商,isnumeric,islogical

mustBeNonempty(一)

一个不是空的。

isempty

mustBeNonsparse(一)

一个没有稀疏的元素。

issparse

mustBeNumeric(一)

一个是数字。

isnumeric

mustBeNumericOrLogical(一)

一个是数字或逻辑。

isnumeric,islogical

mustBeReal(一)

一个没有虚部。

伊斯雷尔

mustBeInteger(一)

= =地板(A)

伊斯雷尔,isfinite,地板上,isnumeric,islogical

指定一个验证函数创建一个设置,使用“ValidationFcn”名称-值对参数,指定函数处理。例如,添加设置MyLogicalSettingmysettings设置组,并指定它的值必须是一个逻辑标量。

s =设置;addGroup(年代,“mysettings”);addSetting (s.mysettings“MyLogicalSetting”,“ValidationFcn”,@matlab.settings.mustBeLogicalScalar);

尝试设置的值MyLogicalSettingnon-logical价值。MATLAB返回一个错误。

s.mysettings.MyLogicalSetting。PersonalValue = 10;
错误设置“MyLogicalSetting”组“mysettings”:价值必须逻辑或可转换逻辑。

您还可以指定为整个设置组验证函数。指定时,验证功能是用于验证组内的所有设置的值没有定义自己的验证函数。例如,创建设置组mylogicalsettings和指定验证功能matlab.settings.mustBeLogicalScalar

addGroup (s.mysettings“mylogicalsettings”,“ValidationFcn”,@matlab.settings.mustBeLogicalScalar);

创建一个设置MyLogicalSettingmylogicalsettings集团和尽量设置的值设置non-logical值。MATLAB返回一个错误。

addSetting (s.mysettings.mylogicalsettings“MyLogicalSetting”);s.mysettings.mylogicalsettings。PersonalValue = 10;
错误设置“MyLogicalSetting”组“mysettings”:价值必须逻辑或可转换逻辑。

自定义验证功能

您还可以创建自己的验证功能。这些可以检查属性覆盖不到的MATLAB验证功能。验证功能是普通设计的MATLAB函数验证设置值的目的。他们必须:

  • 接受潜在的设置值作为输入参数。

  • 没有输出参数。

  • 如果验证失败抛出一个错误。

地方道路上MATLAB验证功能,使它们可用。

例如,创建一个函数来验证是否设置数字的价值。

函数numericValidationFcn (x) errorMsg =值必须为数字。;断言(isnumeric (x), errorMsg);结束

验证函数添加到一个新的设置。

s =设置;addGroup(年代,“mysettings”);addSetting (s.mysettings“MyNumericSetting”,“ValidationFcn”,@numericValidationFcn);

设定的值MyNumericSetting一个非数字值。MATLAB返回一个错误。

s.mysettings.MyNumericSetting。PersonalValue =“你好”;
无法验证设置数据。错误使用myvalidationFcn(第3行)值必须为数字。

你也可以创建自定义验证函数利用MATLAB验证需要多个输入的功能,如mustBeGreaterThan,mustBeLessThan,mustBeGreaterThanOrEqual,mustBeLessThanOrEqual,mustBeMember。例如,这个函数验证设置的价值是四种颜色之一。

函数colorValidationFcn (val) mustBeMember (val, (“黑”“蓝”“黄色”“绿色”]);结束

更多信息添加一个验证函数来设置或设置组,明白了addSettingaddGroup

另请参阅

||||||

相关的话题