Compartilhamento de tecnologia

Exemplos práticos de extração e processamento de dados Excel em Matlab

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

metas alcançadas

Quando a quantidade de dados do Excel for enorme, o processamento manual de dados se tornará uma tarefa muito ingrata, sujeita a erros e depressão.

Usar o matlab para processar torna-se uma forma simples e eficiente.

Por exemplo, tomando como exemplo a tabela de multiplexação de pinos da série GD32F7xx, na tabela Excel 169x19:

Como obter rapidamente todos os pinos e valores AF correspondentes de UART7_RX e gerar as informações em formato de array.

Introdução às funções relacionadas: xlsread

xlsleitura É um software de matemáticaMatlab-AplicativoLeia emExcel Uma função dos dados no arquivo. Ou seja, a partir da pasta onde está localizado o programa atual, de acordo com o intervalo especificado pelos parâmetros da função, o arquivo é lido a partir da célula e os dados são retornados.

1num = xlsread('nome do arquivo')

Ler de uma pasta especificada, por exemplonum=xlsread('dados.xls'),Ou seja, da pasta onde está localizado o programa atual, deA1A célula começa a ler, lendodados.xlsarquivo e retornar os dados paranum

2num = xlsread('nome do arquivo','planilha')
Selecione osfolha, por exemplo'folha1'

3num = xlsread('nome do arquivo', 'intervalo')
O intervalo de células onde está localizado, por exemplointervalo='A1:A8'

4num = xlsread('nome do arquivo', 'planilha', 'intervalo')
folha
e o intervalo de células são limitados ao mesmo tempo.

5[num, txt]= xlsread('nome do arquivo', …)
Salve os dados retornados separadamente do texto.

6[num, txt, raw] = xlsread('nome do arquivo', …)
Ao salvá-los separadamente, hánumeTXTSalvar emcru, formando uma única variável.

em,numé uma variável numérica e uma matriz,TXTé uma variável de caractere e uma matriz de células,cruContém variáveis ​​numéricas e variáveis ​​de caracteres,crué uma matriz de células.

Introdução às funções relacionadas: strcmp relacionadas

1.strcmp(s1, s2): Usado para comparar se as strings s1 e s2 são iguais. Se forem iguais, retorne o resultado 1, caso contrário, retorne 0;

Por exemplo:

TF=strcmp(s1,s2);

s1 e s2 são strings, por exemplo: s1='hello', s2='matlab'.

Se s1 e s2 forem consistentes, o valor de retorno TF=1, caso contrário, TF=0.

TF=strcmp(s,c);

s é uma string, c é uma matriz de células e os elementos de c são todos strings, por exemplo: s='hello', c={'hello','matlab';'HELLO','matlab'}.

O valor de retorno TF é uma matriz com o mesmo comprimento de c e os elementos de TF são 1 ou 0.

Compare cada elemento em c com s. Se eles forem consistentes, o elemento na posição correspondente de TF é 1, caso contrário, é 0.

TF=strcmp(c1,c2);

Tanto c1 quanto c2 são matrizes de células e têm o mesmo comprimento. Seus elementos são todos strings, como c1={'hello','matlab';'HELLO','matlab'};c2={'hello' , 'matlab';'olá','MATLAB'};

O valor de retorno TF é uma matriz lógica com o mesmo comprimento de c1 ou c2 e os elementos de TF são 1 ou 0.

Compare os elementos nas posições correspondentes de c1 e c2. Se forem consistentes, o elemento na posição correspondente de TF é 1, caso contrário, é 0.

2.strncmp(s1, s2, n): usado para comparar se os primeiros n caracteres das strings s1 e s2 são iguais, se forem iguais, o resultado é 1, caso contrário é 0;

3.strcmpi(s1, s2): Compare as strings s1 e s2 para ver se são iguais, ignorando a caixa das letras. Se forem iguais, retorne o resultado 1, caso contrário retorne 0;

4.strncmpi(s1, s2, n): Partindo da premissa de ignorar o caso das letras, compare os primeiros n caracteres das strings s1 e s2 para ver se são iguais, retorne o resultado 1, caso contrário retorne. 0.

Exemplos práticos

1. Defina o array de saída, extraia o conteúdo do arquivo Excel e gere um array txt:

  1. >> OUTPUT=cell(10,2);
  2. >> [~,txt] = xlsread('D:aaabbbccc.xlsx');

Neste ponto você pode ver as variáveis:

2. Edite a função de conversão:

Percorra e compare todo o conteúdo para encontrar todos os pinos e valores AF correspondentes de UART7_RX e produza as informações em formato de array.

  1. function OUTPUT=excel_read(specified_txt)
  2. [~,txt] = xlsread('D:aaabbbccc.xlsx');
  3. m = 1;
  4. OUTPUT=cell(10,2);
  5. for i=1:169
  6.     for j=1:19
  7.         if strcmp(txt(i,j),specified_txt)
  8.             OUTPUT(m,1)=txt(i,1);
  9.             OUTPUT(m,2)=txt(1,j);
  10.             m=m+1;
  11.         end
  12.     end
  13. end
  14. end

3. Chame a função:

>> OUTPUT=excel_read('UART7_RX')

Os seguintes resultados podem ser obtidos:

Ou seja: todos os pinos e valores AF correspondentes de UART7_RX e geram as informações em forma de array.