主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

カスタム設定の作成

設定では,現在のセッションや複数のセッションで,プログラムによるデータの保存,アクセス,変更を行う方法が提供されます。既定では,matlab®および他のMathWorks®製品には,ルの外観と動作にアクセスし,それらを変更するために使用できる設定が含まれています。たとえば,MATLABには特定のコード ツールのフォントをプログラムで変更できるようにする設定が含まれています。

カスタム設定を作成することで,複数のセッションを通して自分のデータを保存し,それにアクセスすることができます。たとえば,設定を作成してシステムにある重要なフォルダーの場所を保存したり、あるファイルの実行回数を記録することができます。

設定グル,プの追加と削除

設定は,グル,プに整理することができます。グル,プ化設定は特定の設定の検索を容易にし,その設定の用途に関する追加コンテキストも提示します。たとえば,matlab.editor設定グル,プには,matlabエディタ,に固有の設定がすべて含まれています。設定グル,プはより大きなグル,プに整理され,,リ,を形成します。リの最上部にはroot設定グルプオブジェクトがあります。

新たな設定グル,プを追加するには,関数addGroupを使用します。たとえば,root 設定グループ オブジェクトの下に設定グループmysettingsを作成します。

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

たとえば,親の設定グループを表示する際に設定階層に表示されない,非表示の設定グループを作成するには,名前と値のペア“隐藏”を指定します。非表示の設定グル,プは親の設定グル,プ内に表示されませんが,プログラムによってアクセスできます。たとえば,mysettings内に設定グル,プmyhiddensettingsを作成します。myhiddensettingsmysettings内に表示されないことに注意してください。

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

設定グル,プを削除するには,関数removeGroupを使用します。たとえば,myhiddensettingsを削除します。

removeGroup(年代,“myhiddensettings”);

設定の追加と削除

新たな設定を追加するには,関数addSettingを使用します。たとえば,設定MyWorkAddressmysettings設定グル,プに追加します。

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

メモ

設定をル,ト設定グル,プに直接追加することはサポ,トされていません。

設定を作成したら,それに値を与えることができます。設定にはいくつかの異なった値のタイプがあり、現在のセッションだけに値を設定するか、あるいは個人ユーザー用に複数のセッションにわたり設定することができます。これらの値のタイプの詳細については、設定へのアクセスと変更を参照してください。

設定の値を指定するには,その個人用の値または一時的な値を設定します。カスタム設定に出荷時の値を指定することはできません。たとえば,MyWorkAddressに個人用の値を指定します。

s.mysettings.MyWorkAddress.PersonalValue =“苹果山路3号”

すると,プログラムにより設定値をコ,ドで使用することができます。

流(“我在%s工作。\n”s.mysettings.MyWorkAddress.ActiveValue)
我在苹果山路3号上班。

非表示の設定を追加するには,名前と値のペアの引数“隐藏”を使用します。非表示の設定は,たとえば親の設定グループを表示するときなどは設定階層に表示されませんが,プログラムによるアクセスが可能です。たとえは,非表示の設定MyHiddenWorkAddressmysettings設定グル,プに追加して,その個人用の値を設定します。

addSetting (s.mysettings“MyHiddenWorkAddress”“隐藏”,真的,...“PersonalValue”“湖滨校园大道1号”);

また,名前と値のペアの引数“只读”を使用して,読み取り専用の設定を追加することもできます。読み取り専用の設定をいったん作成すると,その一時的な値または個人用の値を変更することはできません。したがって,個人用の値は設定の追加時に指定しなければなりません。たとえば,読み取り専用の設定MyBirthDateを,個人用の値を指定してmysettings設定グル,プに追加します。

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

関数を使用した設定の検証

設定またはグル,プに検証関数を指定することにより,設定値に特定の制約を課することができます。検証関数は,設定値候補を引数として受け入れ,その値が特定の要件を満たさない場合はエラーをスローします。

Matlabでは,設定の検証に使用できる有用な検証関数をいくか定義しています。次の表には,これらの関数,その意味,およびそれらに使用されるMATLAB関数が挙げられています。

名前

意味

入力で呼び出される関数

matlab.settings.mustBeStringScalar(一)

一个は字符串スカラ,でなければならない。

isStringScalar

matlab.settings.mustBeLogicalScalar(一)

一个はlogicalスカラでなければならない。

islogicalisscalar

matlab.settings.mustBeNumericScalar(一)

一个は数値スカラ,でなければならない。

isnumericisscalar

matlab.settings.mustBeIntegerScalar(一)

一个は整数スカラ,でなければならない。

isintegerisscalar

mustBePositive(一)

一个> 0

gt伊斯雷尔isnumericislogical

mustBeNonpositive(一)

A <= 0

通用电气伊斯雷尔isnumericislogical

mustBeFinite(一)

一个には,要素も要素もない。

isfinite

mustBeNonNan(一)

一个には要素がない。

isnan

mustBeNonnegative(一)

A >= 0

通用电气伊斯雷尔isnumericislogical

mustBeNegative(一)

A < 0

lt伊斯雷尔isnumericislogical

mustBeNonzero(一)

A ~= 0

情商isnumericislogical

mustBeNonempty(一)

一个は空ではない。

isempty

mustBeNonsparse(一)

一个にはスパ,ス要素がない。

issparse

mustBeNumeric(一)

一个は数値である。

isnumeric

mustBeNumericOrLogical(一)

一个は数値または論理値である。

isnumericislogical

mustBeReal(一)

一个には虚数部がない。

伊斯雷尔

mustBeInteger(一)

A ==楼层(A)

伊斯雷尔isfinite地板上isnumericislogical

設定を作成する際に検証関数を指定するには,名前と値のペアの引数“ValidationFcn”を使用して,関数ハンドルを指定します。たとえば,設定MyLogicalSettingmysettings設定グル,プに追加し,その値が逻辑スカラ,でなければならないと指定します。

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

MyLogicalSettingの値を逻辑値以外に設定しようと試みると,MATLABはエラ,を返します。

s.mysettings.MyLogicalSetting.PersonalValue = 10;
在“mysettings”组中设置“MyLogicalSetting”错误:值必须为logical或可转换为logical。

設定グル,プ全体に検証関数を指定することもできます。指定した検証関数は,グループ内で独自の検証関数が定義されていないすべての設定の値を検証するために使用されます。たとえば,設定グル,プmylogicalsettingsを作成し,検証関数matlab.settings.mustBeLogicalScalarを指定します。

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

設定MyLogicalSettingmylogicalsettingsグル,プ内に作成し,設定の値を,逻辑値以外に設定しようと試みます。Matlabはエラ,を返します。

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

カスタム検証関数の定義

独自の検証関数を作成することも可能です。これらは,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行)值必须是数值。

また,mustBeGreaterThanmustBeLessThanmustBeGreaterThanOrEqualmustBeLessThanOrEqualmustBeMemberなど,複数の入力を必要とするMATLAB検証関数を利用したカスタム検証関数を作成することもできます。たとえば、次の関数は、設定の値が4の色のいずれかであることを検証します。

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

設定または設定グルプへの検証関数の追加の詳細にいては,addSettingおよびaddGroupを参照してください。

参考

||||||

関連するトピック