Condivisione della tecnologia

Esempi pratici di estrazione ed elaborazione dati Excel in Matlab

2024-07-12

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

obiettivi raggiunti

Quando la quantità di dati Excel è enorme, l’elaborazione manuale dei dati diventerà un compito molto ingrato, soggetto a errori e depressione.

Usare Matlab per elaborare diventa un modo semplice ed efficiente.

Ad esempio, prendendo come esempio la tabella di multiplexing dei pin della serie GD32F7xx, nella tabella excel 169x19:

Come ottenere rapidamente tutti i pin e i valori AF corrispondenti di UART7_RX e visualizzare le informazioni sotto forma di array.

Introduzione alle funzioni correlate: xlsread

lettura xls È un software matematicoMatlab-LabLeggi dentroEccellere Una funzione dei dati nel file. Cioè dalla cartella in cui si trova il programma corrente, secondo l'intervallo specificato dai parametri nella funzione, il file viene letto a partire dalla cella e vengono restituiti i dati.

1num = xlsread('nomefile')

Leggere da una cartella specificata, ad esempionum=xlsread('dati.xls'),Cioè, dalla cartella in cui si trova il programma corrente, daA1La cellula inizia a leggere, leggeredati.xlsfile e restituire i dati anumeroeroero

2num = xlsread('nomefile','foglio')
Seleziona ilfoglio, Per esempio'foglio1'

3num = xlsread('nomefile', 'intervallo')
L'intervallo di celle in cui si trova, ad esempiointervallo='A1:A8'

4num = xlsread('nomefile', 'foglio', 'intervallo')
foglio
e l'intervallo delle celle sono limitati allo stesso tempo.

5[num, txt]= xlsread('nomefile', …)
Salvare i dati restituiti separatamente dal testo.

6[num, txt, raw] = xlsread('nomefile', …)
Pur salvandoli separatamente, ci sononumeroeroeroETXTSalvarecrudo, formando un'unica variabile.

In,numeroeroeroè una variabile numerica e una matrice,TXTè una variabile di carattere e un array di celle,crudoContiene sia variabili numeriche che variabili di carattere,crudoè un array di celle.

Introduzione alle funzioni correlate: relative a strcmp

1.strcmp(s1, s2): utilizzato per confrontare se le stringhe s1 e s2 sono uguali. Se sono uguali, restituisce il risultato 1, altrimenti restituisce 0;

Per esempio:

TF=strcmp(s1,s2);

s1 e s2 sono stringhe, ad esempio: s1='ciao', s2='matlab'.

Se s1 e s2 sono coerenti, il valore restituito TF=1, altrimenti TF=0.

TF=strcmp(s,c);

s è una stringa, c è un array di celle e gli elementi di c sono tutte stringhe, ad esempio: s='ciao', c={'ciao','matlab';'CIAO','matlab'}.

Il valore restituito TF è un array con la stessa lunghezza di c e gli elementi di TF sono 1 o 0.

Confronta ogni elemento in c con s Se sono coerenti, l'elemento nella posizione corrispondente di TF è 1, altrimenti è 0.

TF=strcmp(c1,c2);

Sia c1 che c2 sono array di celle e hanno la stessa lunghezza. I loro elementi sono tutte stringhe, come c1={'hello','matlab';'HELLO','matlab'};c2={'hello' ,. 'matlab';'ciao','MATLAB'};

Il valore restituito TF è un array logico con la stessa lunghezza di c1 o c2 e gli elementi di TF sono 1 o 0.

Confronta gli elementi nelle posizioni corrispondenti di c1 e c2 Se sono coerenti, l'elemento nella posizione corrispondente di TF è 1, altrimenti è 0.

2.strncmp(s1, s2, n): serve per confrontare se i primi n caratteri delle stringhe s1 e s2 sono uguali Se sono uguali il risultato è 1, altrimenti è 0;

3.strcmpi(s1, s2): Confronta le stringhe s1 e s2 per vedere se sono uguali, ignorando il caso delle lettere. Se sono uguali, restituisce il risultato 1, altrimenti restituisce 0;

4.strncmpi(s1, s2, n): partendo dal presupposto di ignorare le maiuscole e minuscole, confronta i primi n caratteri delle stringhe s1 e s2 per vedere se sono uguali. Se sono uguali, restituisce il risultato 1, altrimenti restituisce 0.

Esempi pratici

1. Definire l'array di output, estrarre il contenuto del file Excel e generare un array txt:

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

A questo punto puoi vedere le variabili:

2. Modifica la funzione di conversione:

Attraversa e confronta tutti i contenuti per trovare tutti i pin corrispondenti e i valori AF di UART7_RX e visualizza le informazioni in forma di 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. Richiama la funzione:

>> OUTPUT=excel_read('UART7_RX')

Si possono ottenere i seguenti risultati:

Cioè: tutti i pin corrispondenti e i valori AF di UART7_RX e generano le informazioni in forma di array.