Преобразуйте символьные массивы в строковые массивы, оставив другие массивы неизменными
При работе с собственным кодом можно использовать 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