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