2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
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.
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.
(1)num = xlsread('tiedostonimi')
Lue esimerkiksi tietystä kansiostanum=xlsread('data.xls'),Eli kansiosta, jossa nykyinen ohjelma sijaitsee, mistäA1Solu alkaa lukea, lukeadata.xlstiedosto ja palauta tiedotnro。
(2)num = xlsread('tiedostonimi','taulukko')
Valitsearkki, esimerkiksi'arkki1'。
(3)num = xlsread('tiedostonimi', 'alue')
Esimerkiksi solualue, jossa se sijaitseerange='A1:A8'。
(4)num = xlsread('tiedostonimi', 'taulukko', 'alue')
arkkija 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.
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.
1. Määritä tulostaulukko, pura excel-tiedoston sisältö ja luo txt-taulukko:
- >> OUTPUT=cell(10,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.
- function OUTPUT=excel_read(specified_txt)
- [~,txt] = xlsread('D:aaabbbccc.xlsx');
- m = 1;
- OUTPUT=cell(10,2);
-
- for i=1:169
- for j=1:19
- if strcmp(txt(i,j),specified_txt)
- OUTPUT(m,1)=txt(i,1);
- OUTPUT(m,2)=txt(1,j);
- m=m+1;
- end
- end
- end
- 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.