このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
設定では,現在のセッションや複数のセッションで,プログラムによるデータの保存,アクセス,変更を行う方法が提供されます。既定では,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
を作成します。myhiddensettings
がmysettings
内に表示されないことに注意してください。
addGroup (s.mysettings“myhiddensettings”,“隐藏”,真正的);s.mysettings
ans = settsgroup 'mysettings'没有属性。
設定グル,プを削除するには,関数removeGroup
を使用します。たとえば,myhiddensettings
を削除します。
removeGroup(年代,“myhiddensettings”);
新たな設定を追加するには,関数addSetting
を使用します。たとえば,設定MyWorkAddress
をmysettings
設定グル,プに追加します。
S =设置;addGroup(年代,“mysettings”);addSetting (s.mysettings“MyWorkAddress”);
メモ
設定をル,ト設定グル,プに直接追加することはサポ,トされていません。
設定を作成したら,それに値を与えることができます。設定にはいくつかの異なった値のタイプがあり、現在のセッションだけに値を設定するか、あるいは個人ユーザー用に複数のセッションにわたり設定することができます。これらの値のタイプの詳細については、設定へのアクセスと変更を参照してください。
設定の値を指定するには,その個人用の値または一時的な値を設定します。カスタム設定に出荷時の値を指定することはできません。たとえば,MyWorkAddress
に個人用の値を指定します。
s.mysettings.MyWorkAddress.PersonalValue =“苹果山路3号”;
すると,プログラムにより設定値をコ,ドで使用することができます。
流(“我在%s工作。\n”s.mysettings.MyWorkAddress.ActiveValue)
我在苹果山路3号上班。
非表示の設定を追加するには,名前と値のペアの引数“隐藏”
を使用します。非表示の設定は,たとえば親の設定グループを表示するときなどは設定階層に表示されませんが,プログラムによるアクセスが可能です。たとえは,非表示の設定MyHiddenWorkAddress
をmysettings
設定グル,プに追加して,その個人用の値を設定します。
addSetting (s.mysettings“MyHiddenWorkAddress”,“隐藏”,真的,...“PersonalValue”,“湖滨校园大道1号”);
また,名前と値のペアの引数“只读”
を使用して,読み取り専用の設定を追加することもできます。読み取り専用の設定をいったん作成すると,その一時的な値または個人用の値を変更することはできません。したがって,個人用の値は設定の追加時に指定しなければなりません。たとえば,読み取り専用の設定MyBirthDate
を,個人用の値を指定してmysettings
設定グル,プに追加します。
Mydate =日期时间(“6/1/1990”,“InputFormat”,“MM / dd /哦哦”);addSetting (s.mysettings“MyBirthDate”,“只读”,真的,“PersonalValue”,替换);
設定またはグル,プに検証関数を指定することにより,設定値に特定の制約を課することができます。検証関数は,設定値候補を引数として受け入れ,その値が特定の要件を満たさない場合はエラーをスローします。
Matlabでは,設定の検証に使用できる有用な検証関数をいくか定義しています。次の表には,これらの関数,その意味,およびそれらに使用されるMATLAB関数が挙げられています。
名前 |
意味 |
入力で呼び出される関数 |
---|---|---|
|
||
|
||
|
||
|
||
|
||
|
||
|
|
|
|
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
|
|
|
設定を作成する際に検証関数を指定するには,名前と値のペアの引数“ValidationFcn”
を使用して,関数ハンドルを指定します。たとえば,設定MyLogicalSetting
をmysettings
設定グル,プに追加し,その値が逻辑スカラ,でなければならないと指定します。
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);
設定MyLogicalSetting
をmylogicalsettings
グル,プ内に作成し,設定の値を,逻辑値以外に設定しようと試みます。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行)值必须是数值。
また,mustBeGreaterThan
、mustBeLessThan
、mustBeGreaterThanOrEqual
、mustBeLessThanOrEqual
、mustBeMember
など,複数の入力を必要とするMATLAB検証関数を利用したカスタム検証関数を作成することもできます。たとえば、次の関数は、設定の値が4の色のいずれかであることを検証します。
函数colorValidationFcn(val) mustBeMember(val, [“黑”“蓝”“黄色”“绿色”]);结束
設定または設定グルプへの検証関数の追加の詳細にいては,addSetting
およびaddGroup
を参照してください。
设置
|addGroup
|removeSetting
|removeGroup
|addSetting
|hasGroup
|hasset