Представьте себе функцию с переменным количеством входных аргументов, поочередно запрашивая строку и значение.Элементы ячейки как разделенные запятой входные аргументы для функции varargin
myfunction('string1',value1,'string2',value2,...)
e.g.
myfunction('A',5,'B',10)
Я хочу, чтобы сохранить возможность вызова функции, как, что и я не хочу, чтобы изменить оценку varargin
внутри функции. (За исключением ('string1','string2',...,value1,value2,...)
, если это помогает)
Но у меня есть мои входные строки и значения хранятся в массиве ячеек inputvar <4x1 cell>
:
inputvar =
'A' [5] 'B' [10]
Кроме того, этот массив ячеек имеет переменную длину.
Мое намерение состоит в том, чтобы назвать свою функцию как-то так:
myfunction(inputvar)
, который, очевидно, не работает. Любые идеи о том, как я могу преобразовать свою ячейку в допустимый синтаксис ввода?
Я уже пытался создать строку, как
''string1',value1,'string2',value2'
и использовать eval
, чтобы использовать его в вызове функции. Но это не сработало. Таким образом, альтернативно есть способ трансформировать строку в код?
... который приводит меня к проблеме, когда я получаю символ 'A', а не строку' 'A''. Я уверен, что смогу найти решение для себя, но я буду благодарен за любые быстрые мысли;) – thewaywewalk
@thewaywewalk Я не уверен, что вы имеете в виду, это работает на примере, который я только что добавил? – Dan
Я потерял обзор, какова была моя фактическая ошибка, но она, наконец, работает. благодаря! – thewaywewalk