Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Industrial programming >> MATLAB

MATLAB - Cadenas

Crear una cadena de caracteres es bastante simple en MATLAB. De hecho, lo hemos usado muchas veces. Por ejemplo, escribe lo siguiente en el símbolo del sistema −

Demostración en vivo
my_string = 'Tutorials Point'

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

my_string = Tutorials Point

MATLAB considera todas las variables como matrices y las cadenas se consideran matrices de caracteres. Usemos el quién comando para verificar la variable creada arriba −

whos

MATLAB ejecutará la instrucción anterior y devolverá el siguiente resultado −

Name           Size            Bytes  Class    Attributes
my_string      1x16               32  char

Curiosamente, puede usar funciones de conversión numérica como uint8 o uint16 para convertir los caracteres de la cadena en sus códigos numéricos. El carácter La función vuelve a convertir el vector entero en caracteres −

Ejemplo

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
my_string = 'Tutorial''s Point';
str_ascii = uint8(my_string)        % 8-bit ascii values
str_back_to_char= char(str_ascii)  
str_16bit = uint16(my_string)       % 16-bit ascii values
str_back_to_char = char(str_16bit)  

Cuando ejecuta el archivo, muestra el siguiente resultado −

str_ascii =

   84  117  116  111  114  105   97  108   39  115   32   80  111  105  110  116

str_back_to_char = Tutorial's Point
str_16bit =

   84  117  116  111  114  105   97  108   39  115   32   80  111  105  110  116

str_back_to_char = Tutorial's Point

Matriz de caracteres rectangulares

Las cadenas que hemos discutido hasta ahora son arreglos de caracteres unidimensionales; sin embargo, necesitamos almacenar más que eso. Necesitamos almacenar más datos textuales dimensionales en nuestro programa. Esto se logra mediante la creación de matrices de caracteres rectangulares.

La forma más sencilla de crear una matriz de caracteres rectangular es concatenar dos o más matrices de caracteres unidimensionales, ya sea vertical u horizontalmente, según sea necesario.

Puede combinar cadenas verticalmente de cualquiera de las siguientes maneras −

Ejemplo

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
doc_profile = ['Zara Ali                             '; ...
               'Sr. Surgeon                          '; ...
               'R N Tagore Cardiology Research Center']
doc_profile = char('Zara Ali', 'Sr. Surgeon', ...
                  'RN Tagore Cardiology Research Center')

Cuando ejecuta el archivo, muestra el siguiente resultado −

doc_profile =
Zara Ali                             
Sr. Surgeon                          
R N Tagore Cardiology Research Center
doc_profile =
Zara Ali                            
Sr. Surgeon                         
RN Tagore Cardiology Research Center

Puede combinar cadenas horizontalmente de cualquiera de las siguientes maneras −

Ejemplo

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
name =     'Zara Ali                             ';
position = 'Sr. Surgeon                          '; 
worksAt =  'R N Tagore Cardiology Research Center';
profile = [name ', ' position ', ' worksAt]
profile = strcat(name, ', ', position, ', ', worksAt)

Cuando ejecuta el archivo, muestra el siguiente resultado −

profile = Zara Ali      , Sr. Surgeon      , R N Tagore Cardiology Research Center
profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center

Combinar cadenas en una matriz de celdas

De nuestra discusión anterior, está claro que combinar cadenas con diferentes longitudes podría ser una molestia ya que todas las cadenas en la matriz deben tener la misma longitud. Hemos utilizado espacios en blanco al final de las cadenas para igualar su longitud.

Sin embargo, una forma más eficiente de combinar las cadenas es convertir la matriz resultante en una matriz de celdas.

La matriz de celdas de MATLAB puede contener diferentes tamaños y tipos de datos en una matriz. Los arreglos de celdas brindan una forma más flexible de almacenar cadenas de diferentes longitudes.

La cadena de celdas La función convierte una matriz de caracteres en una matriz de cadenas de celdas.

Ejemplo

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
name =     'Zara Ali                             ';
position = 'Sr. Surgeon                          '; 
worksAt =  'R N Tagore Cardiology Research Center';
profile = char(name, position, worksAt);
profile = cellstr(profile);
disp(profile)

Cuando ejecuta el archivo, muestra el siguiente resultado −

{                                                                               
   [1,1] = Zara Ali                                                              
   [2,1] = Sr. Surgeon                                                           
   [3,1] = R N Tagore Cardiology Research Center                                 
}   

Funciones de cadenas en MATLAB

MATLAB ofrece numerosas funciones de cadenas que crean, combinan, analizan, comparan y manipulan cadenas.

La siguiente tabla proporciona una breve descripción de las funciones de cadena en MATLAB −

Función Propósito
Funciones para almacenar texto en matrices de caracteres, combinar matrices de caracteres, etc.
espacios en blanco Crear cadena de caracteres en blanco
cellstr Crear una matriz de celdas de cadenas a partir de una matriz de caracteres
char Convertir a matriz de caracteres (cadena)
iscellstr Determinar si la entrada es una matriz de cadenas de celdas
iscar Determinar si el elemento es una matriz de caracteres
sprintf Dar formato a los datos en cadena
strcat Concatenar cadenas horizontalmente
strjoin Unir cadenas en la matriz de celdas en una sola cadena
Funciones para identificar partes de cadenas, buscar y reemplazar subcadenas
iscar Determinar si el elemento es una matriz de caracteres
isletter Elementos de matriz que son letras alfabéticas
espacio Elementos de matriz que son caracteres de espacio
isstrprop Determinar si la cadena es de la categoría especificada
scanf Leer datos formateados de una cadena
strfind Encontrar una cadena dentro de otra
strrep Buscar y reemplazar subcadena
strsplit Dividir cadena en el delimitador especificado
strtok Partes seleccionadas de la cadena
validarcadena Comprobar la validez de la cadena de texto
variable simbólica Determinar variables simbólicas en expresión
regexp Hacer coincidir expresión regular (sensible a mayúsculas y minúsculas)
regexpi Coincidir con expresión regular (sin distinción entre mayúsculas y minúsculas)
regexprep Reemplazar cadena usando expresión regular
regexptranslate Traducir cadena a expresión regular
Funciones para comparación de cadenas
strcmp Comparar cadenas (sensible a mayúsculas y minúsculas)
strcmpi Comparar cadenas (sin distinción entre mayúsculas y minúsculas)
strncmp Compara los primeros n caracteres de las cadenas (se distingue entre mayúsculas y minúsculas)
strncmpi Compara los primeros n caracteres de las cadenas (sin distinción entre mayúsculas y minúsculas)
Funciones para cambiar cadenas a mayúsculas o minúsculas, crear o eliminar espacios en blanco
desen blanco Elimine los espacios en blanco finales del final de la cadena
strtrim Eliminar los espacios en blanco iniciales y finales de la cadena
inferior Convertir cadena a minúsculas
superior Convertir cadena a mayúsculas
strjust Justificar matriz de caracteres

Ejemplos

Los siguientes ejemplos ilustran algunas de las funciones de cadena mencionadas anteriormente −

Cadenas de formato

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
A = pi*1000*ones(1,5);
sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)

Cuando ejecuta el archivo, muestra el siguiente resultado −

ans =  3141.592654 
   3141.59 
   +3141.59 
      3141.59 
   000003141.59 

Unir cadenas

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
%cell array of strings
str_array = {'red','blue','green', 'yellow', 'orange'};

% Join strings in cell array into single string
str1 = strjoin(str_array, "-")
str2 = strjoin(str_array, ",")

Cuando ejecuta el archivo, muestra el siguiente resultado −

str1 = red-blue-green-yellow-orange
str2 = red,blue,green,yellow,orange

Buscar y reemplazar cadenas

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
students = {'Zara Ali', 'Neha Bhatnagar', ...
            'Monica Malik', 'Madhu Gautam', ...
            'Madhu Sharma', 'Bhawna Sharma',...
            'Nuha Ali', 'Reva Dutta', ...
            'Sunaina Ali', 'Sofia Kabir'};
 
% The strrep function searches and replaces sub-string.
new_student = strrep(students(8), 'Reva', 'Poulomi')
% Display first names
first_names = strtok(students)

Cuando ejecuta el archivo, muestra el siguiente resultado −

new_student = 
{
   [1,1] = Poulomi Dutta
}
first_names = 
{
   [1,1] = Zara
   [1,2] = Neha
   [1,3] = Monica
   [1,4] = Madhu
   [1,5] = Madhu
   [1,6] = Bhawna
   [1,7] = Nuha
   [1,8] = Reva
   [1,9] = Sunaina
   [1,10] = Sofia
}

Comparación de cadenas

Cree un archivo de script y escriba el siguiente código en él −

Demostración en vivo
str1 = 'This is test'
str2 = 'This is text'
if (strcmp(str1, str2))
   sprintf('%s and %s are equal', str1, str2)
else
   sprintf('%s and %s are not equal', str1, str2)
end

Cuando ejecuta el archivo, muestra el siguiente resultado −

str1 = This is test
str2 = This is text
ans = This is test and This is text are not equal

MATLAB

  1. Cadenas Java
  2. MATLAB - Descripción general
  3. MATLAB-Variables
  4. MATLAB - Comandos
  5. MATLAB - Tipos de datos
  6. MATLAB - Operadores
  7. MATLAB - Matriz
  8. MATLAB - Matrices
  9. MATLAB - Notación de dos puntos
  10. MATLAB-Números
  11. MATLAB - Funciones