Berbagi teknologi

Contoh praktis ekstraksi dan pemrosesan data Excel di Matlab

2024-07-12

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

tujuan yang dicapai

Ketika jumlah data Excel sangat besar, pemrosesan data manual akan menjadi tugas yang sangat sia-sia, yang rentan terhadap kesalahan dan depresi.

Penggunaan matlab untuk memproses menjadi cara yang sederhana dan efisien.

Misalnya kita ambil contoh tabel pin multiplexing seri GD32F7xx pada tabel excel 169x19:

Cara cepat mendapatkan semua pin dan nilai AF yang sesuai dari UART7_RX dan menampilkan informasi dalam bentuk array.

Pengenalan fungsi terkait: xlsread

xlsbaca Ini perangkat lunak matematikaBahasa Inggris MatlabBacaUnggul Fungsi data dalam file. Artinya, dari folder tempat program saat ini berada, sesuai dengan rentang yang ditentukan oleh parameter dalam fungsi, file dibaca mulai dari sel dan data dikembalikan.

1num = xlsread('nama file')

Membaca dari folder tertentu, misalnyanum=xlsbaca('data.xls'),Artinya, dari folder tempat program saat ini berada, dariA1Sel mulai membaca, membacadata.xlsfile dan mengembalikan data kenomor

2num = xlsread('nama file','lembar')
Pilihlembaran, Misalnya'lembar1'

3num = xlsread('nama file', 'rentang')
Cell range tempatnya berada, misalnyarentang='A1:A8'

4num = xlsread('nama file', 'lembar', 'rentang')
lembaran
dan rentang sel dibatasi pada saat yang sama.

5[num, txt]= xlsread('nama file', …)
Simpan data yang dikembalikan secara terpisah dari teks.

6[num, txt, raw] = xlsread('nama file', …)
Meskipun menyimpannya secara terpisah, adanomorDantxtMenyimpan kementah, membentuk satu variabel.

di dalam,nomoradalah variabel numerik dan matriks,txtadalah variabel karakter dan array sel,mentahBerisi variabel numerik dan variabel karakter,mentahadalah array sel.

Pengenalan fungsi terkait: terkait strcmp

1.strcmp(s1, s2): digunakan untuk membandingkan apakah string s1 dan s2 sama, jika sama maka hasilnya adalah 1, jika tidak maka 0;

Misalnya:

TF=strcmp(s1,s2);

s1 dan s2 merupakan string, contoh: s1='hello', s2='matlab'.

Jika s1 dan s2 konsisten, nilai kembalian TF=1, jika tidak, TF=0.

TF=strcmp(s,c);

s adalah string, c adalah array sel, dan elemen c semuanya string, contoh: s='hello', c={'hello','matlab';'HELLO','matlab'}.

Nilai kembalian TF adalah array dengan panjang yang sama dengan c, dan elemen TF adalah 1 atau 0.

Bandingkan setiap elemen di c dengan s. Jika konsisten, elemen pada posisi TF yang bersesuaian adalah 1, jika tidak maka 0.

TF=strcmp(c1,c2);

Baik c1 maupun c2 adalah array sel, dan keduanya memiliki panjang yang sama. Semua elemennya berupa string, seperti c1={'hello','matlab';'HELLO','matlab'};c2={'hello' , 'matlab';'halo','MATLAB'};

Nilai kembalian TF adalah array logis dengan panjang yang sama dengan c1 atau c2, dan elemen TF adalah 1 atau 0.

Bandingkan elemen-elemen pada posisi c1 dan c2 yang bersesuaian. Jika konsisten, elemen pada posisi TF yang bersesuaian adalah 1, jika tidak maka 0.

2.strncmp(s1, s2, n): digunakan untuk membandingkan apakah n karakter pertama dari string s1 dan s2 sama, jika sama maka hasilnya adalah 1, jika tidak maka 0;

3.strcmpi(s1, s2): Bandingkan string s1 dan s2 untuk melihat apakah keduanya sama, abaikan huruf besar/kecil. Jika sama, kembalikan hasilnya 1, jika tidak, kembalikan 0;

4.strncmpi(s1, s2, n): Dengan alasan mengabaikan huruf besar-kecil, bandingkan n karakter pertama dari string s1 dan s2 untuk melihat apakah keduanya sama. Jika sama, kembalikan hasilnya 1, jika tidak kembalikan 0.

Contoh praktis

1. Tentukan array keluaran, ekstrak konten file excel dan buat array txt:

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

Pada titik ini Anda dapat melihat variabelnya:

2. Edit fungsi konversi:

Telusuri semua konten dan bandingkan untuk menemukan semua pin dan nilai AF UART7_RX yang sesuai, dan keluarkan informasi dalam bentuk 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. Panggil fungsi:

>> OUTPUT=excel_read('UART7_RX')

Hasil berikut dapat diperoleh:

Yaitu: semua pin dan nilai AF UART7_RX yang sesuai, dan menampilkan informasi dalam bentuk array.