Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> MATLAB

MATLAB - Cordas


Criar uma string de caracteres é bastante simples no MATLAB. Na verdade, nós o usamos muitas vezes. Por exemplo, você digita o seguinte no prompt de comando -
Demonstração ao vivo
my_string = 'Tutorials Point'

O MATLAB executará a instrução acima e retornará o seguinte resultado -
my_string = Tutorials Point

MATLAB considera todas as variáveis ​​como arrays, e strings são consideradas como arrays de caracteres. Vamos usar o whos comando para verificar a variável criada acima -
whos

O MATLAB executará a instrução acima e retornará o seguinte resultado -
Name           Size            Bytes  Class    Attributes
my_string      1x16               32  char

Curiosamente, você pode usar funções de conversão numérica como uint8 ou uint16 para converter os caracteres da string em seus códigos numéricos. O caracter função converte o vetor inteiro de volta para caracteres -

Exemplo


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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)  

Quando você executa o arquivo, ele exibe o seguinte 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 retangulares


As strings que discutimos até agora são arrays de caracteres unidimensionais; no entanto, precisamos armazenar mais do que isso. Precisamos armazenar mais dados textuais dimensionais em nosso programa. Isso é conseguido criando matrizes de caracteres retangulares.

A maneira mais simples de criar uma matriz de caracteres retangular é concatenar duas ou mais matrizes de caracteres unidimensionais, vertical ou horizontalmente, conforme necessário.

Você pode combinar strings verticalmente de uma das seguintes maneiras -

Exemplo


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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')

Quando você executa o arquivo, ele exibe o seguinte resultado -
doc_profile =
Zara Ali                             
Sr. Surgeon                          
R N Tagore Cardiology Research Center
doc_profile =
Zara Ali                            
Sr. Surgeon                         
RN Tagore Cardiology Research Center

Você pode combinar strings horizontalmente de uma das seguintes maneiras -

Exemplo


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao vivo
name =     'Zara Ali                             ';
position = 'Sr. Surgeon                          '; 
worksAt =  'R N Tagore Cardiology Research Center';
profile = [name ', ' position ', ' worksAt]
profile = strcat(name, ', ', position, ', ', worksAt)

Quando você executa o arquivo, ele exibe o seguinte resultado -
profile = Zara Ali      , Sr. Surgeon      , R N Tagore Cardiology Research Center
profile = Zara Ali,Sr. Surgeon,R N Tagore Cardiology Research Center

Combinando Strings em uma Matriz de Células


A partir de nossa discussão anterior, fica claro que combinar strings com comprimentos diferentes pode ser uma dor, pois todas as strings na matriz devem ter o mesmo comprimento. Usamos espaços em branco no final das strings para equalizar seu comprimento.

No entanto, uma maneira mais eficiente de combinar as strings é converter a matriz resultante em uma matriz de células.

A matriz de células MATLAB pode conter diferentes tamanhos e tipos de dados em uma matriz. As matrizes de células fornecem uma maneira mais flexível de armazenar strings de comprimento variável.

O cellstr A função converte um array de caracteres em um array de células de strings.

Exemplo


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao vivo
name =     'Zara Ali                             ';
position = 'Sr. Surgeon                          '; 
worksAt =  'R N Tagore Cardiology Research Center';
profile = char(name, position, worksAt);
profile = cellstr(profile);
disp(profile)

Quando você executa o arquivo, ele exibe o seguinte resultado -
{                                                                               
   [1,1] = Zara Ali                                                              
   [2,1] = Sr. Surgeon                                                           
   [3,1] = R N Tagore Cardiology Research Center                                 
}   

Funções de string no MATLAB


O MATLAB fornece inúmeras funções de string criando, combinando, analisando, comparando e manipulando strings.

A tabela a seguir fornece uma breve descrição das funções de string no MATLAB -
Função Propósito
Funções para armazenar texto em matrizes de caracteres, combinar matrizes de caracteres etc.
espaços Cria uma sequência de caracteres em branco
cellstr Criar array de células de strings do array de caracteres
caractere Converter para matriz de caracteres (string)
iscellstr Determinar se a entrada é uma matriz de células de strings
ischar Determinar se o item é uma matriz de caracteres
sprintf Formatar dados em string
strcat Concatenar strings horizontalmente
strjoin Juntar strings na matriz de células em uma única string
Funções para identificar partes de strings, localizar e substituir substrings
ischar Determinar se o item é uma matriz de caracteres
carta Elementos de matriz que são letras alfabéticas
isspace Elementos de matriz que são caracteres de espaço
isstrprop Determinar se a string é da categoria especificada
sscanf Ler dados formatados da string
strfind Encontre uma string dentro de outra
strrep Localizar e substituir substring
strsplit Sequência dividida no delimitador especificado
strtok Partes selecionadas da string
validatestring Verificar a validade da string de texto
symvar Determinar variáveis ​​simbólicas na expressão
regexp Corresponder à expressão regular (diferencia maiúsculas de minúsculas)
regexpi Corresponder à expressão regular (não diferencia maiúsculas de minúsculas)
regexprep Substituir string usando expressão regular
regexptranslate Traduzir string em expressão regular
Funções para comparação de strings
strcmp Compare strings (diferencia maiúsculas de minúsculas)
strcmpi Comparar strings (não diferencia maiúsculas de minúsculas)
strncmp Compare os primeiros n caracteres de strings (diferencia maiúsculas de minúsculas)
strncmpi Compare os primeiros n caracteres de strings (não diferencia maiúsculas de minúsculas)
Funções para alterar string para maiúsculas ou minúsculas, criar ou remover espaços em branco
deblank Retirar espaços em branco no final da string
strtrim Remover espaço em branco à esquerda e à direita da string
inferior Converter string para minúscula
superior Converter string para maiúscula
strjust Justificar matriz de caracteres

Exemplos


Os exemplos a seguir ilustram algumas das funções de string mencionadas acima -

Formatando strings


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao vivo
A = pi*1000*ones(1,5);
sprintf(' %f \n %.2f \n %+.2f \n %12.2f \n %012.2f \n', A)

Quando você executa o arquivo, ele exibe o seguinte resultado -
ans =  3141.592654 
   3141.59 
   +3141.59 
      3141.59 
   000003141.59 

Juntar strings


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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, ",")

Quando você executa o arquivo, ele exibe o seguinte resultado -
str1 = red-blue-green-yellow-orange
str2 = red,blue,green,yellow,orange

Encontrando e substituindo strings


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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)

Quando você executa o arquivo, ele exibe o seguinte 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
}

Comparando Strings


Crie um arquivo de script e digite o seguinte código nele -
Demonstração ao 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

Quando você executa o arquivo, ele exibe o seguinte resultado -
str1 = This is test
str2 = This is text
ans = This is test and This is text are not equal

MATLAB

  1. Strings Java
  2. MATLAB - Visão geral
  3. MATLAB - Variáveis
  4. MATLAB - Comandos
  5. MATLAB - Tipos de dados
  6. MATLAB - Operadores
  7. MATLAB - Matriz
  8. MATLAB - Matrizes
  9. MATLAB - Notação de dois pontos
  10. MATLAB - Números