Teknologian jakaminen

Käytännön esimerkkejä Excel-tietojen poimimisesta ja käsittelystä Matlabissa

2024-07-12

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

saavutetut tavoitteet

Kun Excel-dataa on valtava, manuaalisesta tietojenkäsittelystä tulee erittäin kiittämätön tehtävä, joka on altis virheille ja masennukselle.

Matlabin käyttäminen prosessointiin on yksinkertainen ja tehokas tapa.

Otetaan esimerkiksi GD32F7xx-sarjan pin-multipleksointitaulukko 169x19 Excel-taulukossa:

Kuinka saada nopeasti kaikki vastaavat UART7_RX:n nastat ja AF-arvot ja tulostaa tiedot taulukkomuodossa.

Johdatus liittyviin toimintoihin: xlsread

xlsread Se on matematiikan ohjelmistomatlabLue sisäänExcel Tiedoston tietojen funktio. Toisin sanoen kansiosta, jossa nykyinen ohjelma sijaitsee, funktion parametrien määrittämän alueen mukaan tiedosto luetaan solusta alkaen ja tiedot palautetaan.

1num = xlsread('tiedostonimi')

Lue esimerkiksi tietystä kansiostanum=xlsread('data.xls'),Eli kansiosta, jossa nykyinen ohjelma sijaitsee, mistäA1Solu alkaa lukea, lukeadata.xlstiedosto ja palauta tiedotnro

2num = xlsread('tiedostonimi','taulukko')
Valitsearkki, esimerkiksi'arkki1'

3num = xlsread('tiedostonimi', 'alue')
Esimerkiksi solualue, jossa se sijaitseerange='A1:A8'

4num = xlsread('tiedostonimi', 'taulukko', 'alue')
arkki
ja solujen kantama on rajoitettu samaan aikaan.

5[num, txt]= xlsread('tiedostonimi',…)
Tallenna palautetut tiedot erillään tekstistä.

6[num, txt, raw] = xlsread('tiedostonimi',…)
Vaikka ne tallennetaan erikseen, niitä onnrojatxtTallenna kohteeseenraaka, muodostaen yhden muuttujan.

sisään,nroon numeerinen muuttuja ja matriisi,txton merkkimuuttuja ja solutaulukko,raakaSisältää sekä numeerisia muuttujia että merkkimuuttujia,raakaon joukko soluja.

Johdatus liittyviin toimintoihin: strcmp related

1.strcmp(s1, s2): käytetään vertaamaan, ovatko merkkijonot s1 ja s2 yhtä suuret, jos ne ovat yhtä suuret, tulos on 1, muuten se on 0.

Esimerkiksi:

TF=strcmp(s1,s2);

s1 ja s2 ovat merkkijonoja, esimerkiksi: s1='hello', s2='matlab'.

Jos s1 ja s2 ovat yhdenmukaisia, palautusarvo TF=1, muuten TF=0.

TF=strcmp(s,c);

s on merkkijono, c on solutaulukko ja c:n elementit ovat kaikki merkkijonoja, esimerkiksi: s='hello', c={'hello','matlab';'HELLO','matlab'}.

Palautusarvo TF on taulukko, jonka pituus on sama kuin c, ja TF:n alkiot ovat 1 tai 0.

Vertaa jokaista c:n elementtiä s:ään, jos ne ovat yhdenmukaisia, TF:n vastaavassa paikassa oleva elementti on 1, muuten se on 0.

TF=strcmp(c1,c2);

Sekä c1 että c2 ovat solutaulukoita, ja niiden elementit ovat kaikki merkkijonoja, kuten c1={'hello','matlab';'HELLO','matlab'};c2={'hello', 'matlab';'hei','MATLAB'};

Palautusarvo TF on looginen taulukko, jonka pituus on sama kuin c1 tai c2, ja TF:n alkiot ovat 1 tai 0.

Vertaa elementtejä vastaavissa kohdissa c1 ja c2.

2.strncmp(s1, s2, n): käytetään vertaamaan, ovatko merkkijonojen s1 ja s2 ensimmäiset n merkkiä yhtä suuret, jos ne ovat yhtä suuret, tulos on 1, muuten se on 0.

3.strcmpi(s1, s2): Vertaa merkkijonoja s1 ja s2, ovatko ne yhtä suuret, huomioimatta kirjainten kirjainkokoa. Jos ne ovat yhtä suuret, palauta tulos 1, muussa tapauksessa 0.

4.strncmpi(s1, s2, n): Jos kirjaimia ei oteta huomioon, vertaa merkkijonojen s1 ja s2 ensimmäistä n merkkiä, jos ne ovat yhtä suuret, palauta tulos 1, muussa tapauksessa palauta 0.

Käytännön esimerkkejä

1. Määritä tulostaulukko, pura excel-tiedoston sisältö ja luo txt-taulukko:

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

Tässä vaiheessa näet muuttujat:

2. Muokkaa muunnosfunktiota:

Käy läpi kaikki sisältö ja vertaa niitä löytääksesi kaikki vastaavat UART7_RX:n nastat ja AF-arvot ja tulosta tiedot taulukkomuodossa.

  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. Kutsu funktio:

>> OUTPUT=excel_read('UART7_RX')

Seuraavat tulokset voidaan saada:

Eli: kaikki vastaavat UART7_RX:n nastat ja AF-arvot ja tulosta tiedot taulukon muodossa.