Преобразование массивов символов в массивы строк, оставляя другие массивы неизменными
При работе с собственным кодом можно использовать convertCharsToStrings чтобы код принимал массивы символов. Тогда вам не придется вносить какие-либо другие изменения в код, написанный для работы со строковыми массивами.
[B1,...,Bn] = convertCharsToStrings(A1,...,An) преобразует любые символьные массивы или массивы ячеек символьных векторов в A1,...,An в строковые массивы, а затем возвращает их в качестве соответствующих выходных аргументов в B1,...,Bn. Если какой-либо из аргументов A1,...,An имеет любой другой тип данных, то convertCharsToStrings возвращает его без изменений.
Чтобы включить код, который работает со строками для принятия массивов символов в качестве входных данных, добавьте вызов convertCharsToStrings в начале кода.
Например, если определена функция myFunc который принимает три входных аргумента, обрабатывает все три ввода, используя convertCharsToStrings. Оставьте остальную часть кода без изменений.
function y = myFunc(a,b,c)
[a,b,c] = convertCharsToStrings(a,b,c);
<line 1 of original code>
<line 2 of original code>
...В этом примере выходные аргументы [a,b,c] перезаписать имеющиеся входные аргументы. Если какой-либо входной аргумент не является символьным массивом или массивом ячеек символьных векторов, то он не изменяется.
Если myFunc принимает переменное количество входных аргументов, затем обрабатывает все аргументы, указанные varargin.
function y = myFunc(varargin)
[varargin{:}] = convertCharsToStrings(varargin{:});
... convertCharsToStrings функция более эффективна при преобразовании одного входного аргумента. Если речь идет о производительности, вызовите convertCharsToStrings на одном входном аргументе за один раз, а не на нескольких входах.
convertContainedStringsToChars | convertStringsToChars | iscellstr | ischar | ismissing | isstring | isStringScalar | string | varargin