exponenta event banner

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

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

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

свернуть все

Структура «имя-значение», заданная как массив скалярной структуры.

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

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

свернуть все

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

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

Представлен в R2019b