Main Content

namedargs2cell

名前と値のペアを含む構造体の cell 配列への変換

R2019b 以降

説明

C = namedargs2cell(S) は、名前と値のペアを含むスカラー構造体配列を名前と値を含む cell 配列に変換します。この関数は、n 個のフィールドをもつ 1 行 1 列の構造体を、名前と値がインターリーブされた 1 行 2n 列の cell 配列に変換します。

すべて折りたたむ

フィールド XLimColor および Box をもつ構造体を作成し、各フィールドに値を割り当てます。namedargs2cell を使用して構造体を、フィールドの名前と値がインターリーブされた cell 配列に変換します。

S.XLim = [1,100];
S.Color = "red";
S.Box = "on";
C = namedargs2cell(S)
C = 1×6 cell array
    {'XLim'}    {1×2 double}    {'Color'}    {["red"]}    {'Box'}    {["on"]}

特定の axes オブジェクトのプロパティとして名前と値のペアを受け入れる関数を記述し、それらのプロパティ値に追加の制限を加えます。

名前と値の構造体を、インターリーブされた名前と値を含む cell 配列に変換します。この cell 配列を関数 axes に渡します。この関数は cell 配列内の名前と値のペアを受け入れます。axes オブジェクトのハンドルを返します。

function a = myAxes(axesProps)
    arguments
        axesProps.XLim (1,2) {mustBeNumeric}
        axesProps.Color string {mustBeMember(axesProps.Color,["red","green","blue"])}
        axesProps.Box matlab.lang.OnOffSwitchState
    end
    nvCell = namedargs2cell(axesProps);
    a = axes(nvCell{:});
end

関数 namedarg2cell の出力は、arguments ブロックに定義されている axesProps の名前と値の構造体を、名前と値がインターリーブされた cell 配列に変換します。cell 配列 nvCell を関数 axes に渡します。この関数は名前と値のペアを cell 配列として受け入れます。

a = myAxes("XLim",[1,10],"Color","red","Box","on");

入力引数

すべて折りたたむ

名前と値の構造体。スカラー構造体配列として指定します。

データ型: struct

出力引数

すべて折りたたむ

値と名前がインターリーブされた cell 配列。1 行 2n 列の cell 配列として返されます。n は入力構造体のフィールド数です。

データ型: cell

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2019b で導入