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