namedargs2cell

Преобразуйте структуру, содержащую пары "имя-значение" к массиву ячеек

Синтаксис

Описание

пример

C = namedargs2cell(S) преобразует скалярный массив структур, содержащий пары "имя-значение" к массиву ячеек, содержащему имена и значения. Эта функция преобразует структуру 1 на 1 с n количество полей к 1 2n массив ячеек с чередованными именами и значениями.

Примеры

свернуть все

Создайте структуру с полями XLim, Color, и Box и присвойте значения каждому полю. Используйте namedargs2cell преобразовывать структуру в массив ячеек, который чередует имена полей и значения.

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 функция, которая принимает пары "имя-значение" в массиве ячеек. Возвратите указатель на объект осей.

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 функция преобразует axesProps структура значения имени задана в arguments блокируйтесь к чередованному массиву ячеек имен и значений. Передайте nvCell массив ячеек к функции axes, которая принимает пары "имя-значение" как массив ячеек.

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

Входные параметры

свернуть все

Структура значения имени в виде скалярного массива структур.

Типы данных: struct

Выходные аргументы

свернуть все

Массив ячеек чередованных имен и значений, возвращенных как 1 2n массивом ячеек, где n является количеством полей во входной структуре.

Типы данных: cell

Введенный в R2019b