Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Hap skedarin matlab. Shkëmbimi i të dhënave midis MatLab dhe Excel

). Ndër mjetet e përdorimit të përgjithshëm që përdoren në kimiometri, një vend të veçantë zë paketa MatLab. Popullariteti i tij është jashtëzakonisht i lartë. Kjo është për shkak se MatLab është një përpunim i fuqishëm dhe i gjithanshëm i të dhënave shumëdimensionale. Vetë struktura e paketës e bën atë një mjet të përshtatshëm për kryerjen e llogaritjeve të matricës. Gama e problemeve që mund të hetohen duke përdorur MatLab përfshin: analizën e matricës, përpunimin e sinjalit dhe imazhit, rrjetet nervore dhe shume te tjere. MatLab është një gjuhë e nivelit të lartë me burim i hapur, i cili u mundëson përdoruesve me përvojë të kuptojnë algoritmet e programuara. Një gjuhë e thjeshtë programimi e integruar e bën të lehtë krijimin e algoritmeve tuaja. Për shumë vite të përdorimit MatLab krijuar sasi e madhe funksionet dhe ToolBox (paketat e mjeteve të specializuara). Më i popullarizuari është PLS ToolBox nga Eigenvector Research, Inc.

1. Informacion bazë

1.1. Mjedisi i punës në MatLab

Klikoni dy herë në ikonën për të nisur programin. Mjedisi i punës i paraqitur në figurë do të hapet para jush.

Hapësira e punës MatLab 6.x paksa e ndryshme nga hapësira e punës e versioneve të mëparshme, ajo ka një ndërfaqe më të përshtatshme për të hyrë në shumë elementë ndihmës

Hapësira e punës MatLab 6.x përmban elementet e mëposhtëm:

    shiriti i veglave me butona dhe listë rënëse;

    dritare me skedat Launch Pad dhe Hapësira e punës nga e cila mund të hyni module të ndryshme ToolBox dhe për përmbajtjen e mjedisit të punës;

    dritare me skeda historia e komandës dhe drejtoria aktuale, i destinuar për shikimin dhe rikthimin e komandave të futura më parë, si dhe për vendosjen e drejtorisë aktuale;

    një dritare komanduese që përmban një kërkesë për të hyrë » dhe një kursor vertikal që pulson;

    linjë statusi.

Nëse mjedisi i punës MatLab 6.x nuk ka asnjë dritare të treguar në figurë, atëherë duhet të zgjidhni artikujt e duhur në menynë View: dritarja e komandës, Historia e komandave , Drejtoria aktuale , Hapësira e punës , Launch Pad .

Komandat duhet të shtypen në dritaren e komandës. Simboli » , i cili tregon një ftesë për të hyrë në vijën e komandës, nuk ka nevojë të shtypet. Të shikosh zona e punësështë i përshtatshëm për të përdorur shiritat e lëvizjes ose tastet Home , End , për të lëvizur majtas ose djathtas dhe PageUp , PageDown për të lëvizur lart ose poshtë. Nëse papritmas, pasi lëvizni nëpër hapësirën e punës të dritares së komandës, linja e komandës me një kursor që vezullon zhduket, thjesht shtypni Enter.

Është e rëndësishme të mbani mend se grupi i çdo komande ose shprehjeje duhet të përfundojë me shtypjen Enter në mënyrë që programi MatLab të ekzekutojë këtë komandë ose të vlerësojë shprehjen.

1.2. Llogaritjet më të thjeshta

Shkruani 1+2 në vijën e komandës dhe shtypni Enter. Si rezultat, sa vijon shfaqet në dritaren e komandës MatLab:

Oriz. 2 Paraqitja grafike e analizës së komponentit kryesor

Çfarë bëri programi MatLab? Fillimisht llogariti shumën 1+2, më pas shkruajti rezultatin në ndryshoren speciale ans dhe printoi vlerën e saj, 3, në dritaren e komandës. Poshtë përgjigjes është një linjë komande me një kursor që vezullon, që tregon se MatLab është gati për llogaritjet e mëtejshme. Ju mund të shkruani shprehje të reja në vijën e komandës dhe të gjeni vlerat e tyre. Nëse dëshironi të vazhdoni të punoni me shprehjen e mëparshme, për shembull, për të llogaritur (1+2)/4.5, atëherë mënyra më e lehtë është të përdorni rezultatin tashmë ekzistues, i cili ruhet në variablin ans. Shkruani ans/4.5 (një pikë përdoret kur futni numra dhjetorë) dhe shtypni Hyni, doli qe

Oriz. 3 Paraqitja grafike e analizës së komponentit kryesor

1.3. Jehonë komandës

Ekzekutimi i çdo komande në MatLab shoqërohet me një jehonë. Në shembullin e mësipërm, kjo është përgjigja ans = 0.6667. Shpesh jehona e bën të vështirë perceptimin e punës së programit dhe më pas mund të fiket. Për ta bërë këtë, komanda duhet të përfundojë me një pikëpresje. për shembull

Oriz. 4 Shembull i hyrjes së funksionit ScoresPCA

1.4. Ruajtja e mjedisit të punës. Skedarët MAT

Mënyra më e lehtë për të ruajtur të gjitha vlerat e variablave është të përdorni artikullin Save Workspace As në menynë File. Shfaqet kutia e dialogut Save Workspase Variables, duke ju kërkuar të specifikoni një drejtori dhe një emër skedari. Si parazgjedhje, propozohet të ruhet skedari në nëndirektorinë e punës të drejtorisë kryesore MatLab. Programi do të ruajë rezultatet e punës në një skedar me shtrirjen mat. Tani mund ta mbyllni MatLab. Në seancën tjetër, për të rivendosur vlerat e variablave, hapni këtë skedar të ruajtur duke përdorur nën-artikullin Open të menysë File. Tani të gjitha variablat e përcaktuara në sesionin e fundit janë sërish të disponueshme. Ato mund të përdoren në komandat e futura rishtazi.

1.5. Revistë

MatLab ka aftësinë për të shkruar komandat e ekzekutueshme dhe rezultatet në një skedar teksti (për të mbajtur një regjistër të punës), i cili më pas mund të lexohet ose printohet nga një redaktues teksti. Për të filluar regjistrimin, përdorni komandën ditar. Si argument komandues ditar duhet të specifikoni emrin e skedarit në të cilin do të ruhet regjistri i punës. Komandat e shtypura më tej dhe rezultatet e ekzekutimit të tyre do të shkruhen në këtë skedar, për shembull, një sekuencë komandash

kryen veprimet e mëposhtme:

    hap regjistrin në skedarin exampl-1.txt;

    bën llogaritjet;

    ruan të gjitha variablat në skedarin MAT work-1.mat ;

    ruan regjistrin në skedarin exampl-1.txt në nëndrejtorinë e punës së direktoriumit rrënjësor MatLab dhe mbyll MatLab;

Shikoni përmbajtjen e skedarit exampl-1.txt në disa redaktori i tekstit. Skedari do të përmbajë tekstin e mëposhtëm:

a1=3;
a2=2,5;
a3=a1+a2

Kurseni punën-1

1.6. Sistemi i ndihmës

Dritarja MatLab Help shfaqet pasi zgjidhni opsionin Help Window nga menyja Help ose duke shtypur butonin e pyetjeve në shiritin e veglave. I njëjti veprim mund të kryhet duke shtypur komandën ndihmëwin. Për të shfaqur një dritare ndihme për tema individuale, shkruani tema helpwin. Dritarja e ndihmës ju ofron të njëjtin informacion si komanda e ndihmës, por ndërfaqja e dritares ofron më shumë lidhje e përshtatshme me tema të tjera ndihmëse. Duke përdorur adresën e faqes së internetit Math Works, mund të shkoni te serveri i Math Works dhe të merrni informacionin më të fundit për çështjet me interes për ju. Mund të shikoni produktet e reja softuerike ose të gjeni përgjigje për problemet tuaja në faqen e mbështetjes teknike.

2. Matricat

2.1. Skalarët, vektorët dhe matricat

Në MatLab, mund të përdorni skalarë, vektorë dhe matrica. Për të futur një skalar, mjafton t'i caktoni vlerën e tij disa ndryshoreve, për shembull

Vini re se MatLab bën dallimin midis kapitalit dhe shkronjat e mëdha, pra p dhe P janë variabla të ndryshëm. Për të futur vargje (vektorë ose matrica), elementet e tyre mbyllen në kllapa katrore. Pra, për të futur një vektor rreshti me madhësi 1x3, përdoret komanda e mëposhtme, në të cilën elementet e rreshtit ndahen me hapësira ose presje.

Kur futni një vektor kolone, elementët ndahen me pikëpresje. Për shembull,

Është i përshtatshëm për të futur matrica të vogla direkt nga linja e komandës. Kur futet, një matricë mund të shihet si një vektor kolone, secili element i së cilës është një vektor rreshti.

ose një matricë mund të trajtohet si një vektor rreshti, secili element i të cilit është një vektor kolone.

2.2. Qasja në elementë

Qasja në elementët e matricës kryhet duke përdorur dy indekse - numrat e rreshtave dhe kolonave, të mbyllura brenda kllapa të rrumbullakëta, për shembull, komanda B(2,3) do të kthejë elementin e rreshtit të dytë dhe kolonës së tretë të matricës B. Për të zgjedhur një kolonë ose rresht nga një matricë, përdorni numrin e kolonës ose rreshtit të matricës si një nga indekset dhe zëvendësoni indeksin tjetër me një dy pika. Për shembull, le të shkruajmë rreshtin e dytë të matricës A në vektorin z

Ju gjithashtu mund të zgjidhni blloqe matricash duke përdorur një dy pika. Për shembull, zgjidhni nga matrica P bllokun e shënuar me ngjyrë

Nëse keni nevojë të shikoni variablat e mjedisit të punës, në vijën e komandës duhet të shkruani komandën kushs .

Mund të shihet se mjedisi i punës përmban një skalar (p ), katër matrica (A, B, P, P1 ) dhe një vektor rreshti (z ).

2.3. Operacionet bazë të matricës

Kur përdorni operacionet e matricës, mbani mend se për mbledhje ose zbritje, matricat duhet të jenë të së njëjtës madhësi dhe kur shumëzohen, numri i kolonave të matricës së parë duhet të jetë i barabartë me numrin e rreshtave të matricës së dytë. Mbledhja dhe zbritja e matricave, si dhe numrave dhe vektorëve, kryhet duke përdorur shenjat plus dhe minus.

dhe shumëzimi shënohet me yll * . Ne prezantojmë një matricë 3×2

Shumëzimi i një matrice me një numër kryhet gjithashtu duke përdorur një yll, dhe ju mund të shumëzoni me një numër si në të djathtë ashtu edhe në të majtë. ereksioni matricë katrore në një fuqi të plotë bëhet duke përdorur operatorin ^

Kontrolloni rezultatin duke shumëzuar matricën P me vetveten.

2.4. Krijimi i matricave të një lloji të veçantë

Mbushja e një matrice drejtkëndore me zero bëhet nga funksioni i integruar zero

Matrica e identitetit krijohet duke përdorur funksionin syri

Një matricë e përbërë nga njësh formohet si rezultat i thirrjes së funksionit ato

MatLab ofron mundësinë për të mbushur matricat me numra të rastit. Rezultati i funksionit randiështë një matricë numrash të shpërndarë në mënyrë uniforme ndërmjet zeros dhe njës, dhe funksioneve randn- matrica e numrave të shpërndarë sipas ligjit normal me zero mesatare dhe variancë njësi.

Funksioni diag formon një matricë diagonale nga një vektor, duke i vendosur elementet diagonalisht.

2.5. Llogaritjet e matricës

MatLab përmban shumë funksione të ndryshme për të punuar me matrica. Kështu, për shembull, transpozimi i një matrice bëhet duke përdorur apostrofin "

Gjetja matricë e anasjelltë kryhet duke përdorur funksionin inv për matricat katrore

3. Integrimi i MatLab dhe Excel

Integrimi i MatLab dhe Excel lejon përdoruesin e Excel të aksesojë funksione të shumta MatLab për përpunimin e të dhënave, llogaritjet e ndryshme dhe vizualizimin e rezultatit. Shtesa excllink.xla zbaton këtë përmirësim të Excel. Funksionet speciale janë përcaktuar për lidhjen ndërmjet MatLab dhe Excel.

3.1. Konfigurimi i Excel

Përpara se të konfiguroni Excel për punë e përbashkët me MatLab, duhet të siguroheni që Excel Link të përfshihet në versionin e instaluar të MatLab. Nëndirektoria exclink e direktoriumit kryesor MatLab ose nëndirektoria e kutisë së veglave duhet të përmbajë skedarin shtesë excllink.xla. Nisni Excel dhe zgjidhni Shtesat nga menyja e Veglave. Do të hapet një kuti dialogu që përmban informacione rreth disponueshme ky moment shtesa. Duke përdorur butonin Browse, specifikoni shtegun për në skedarin excllink.xla. Në listën e shtesave kuti dialogu do të shfaqet linja Excel Link 2.0 për përdorim me MatLab me vendosjen e flamurit. Klikoni OK, shtesa e kërkuar është shtuar në Excel.

Vini re se Excel tani ka një panel Mjetet e Excel-it Lidhje që përmban tre butona: putmatrix, getmatrix, evalstring. Këta butona zbatojnë veprimet bazë të kërkuara për zbatimin e marrëdhënies midis Excel dhe MatLab - shkëmbimi i të dhënave të matricës dhe ekzekutimi i komandave MatLab nga mjedisi Excel. Në rinisje Shtesa Excel excllink.xla përfshihet automatikisht.

Puna e koordinuar e Excel dhe MatLab kërkon disa cilësime të tjera që pranohen në Excel si parazgjedhje (por mund të ndryshohen). Nga menyja Mjete shkoni te Opsionet, hapet kutia e dialogut Opsionet. Zgjidhni skedën e Përgjithshme dhe sigurohuni që flamuri i stilit të referencës R1C1 është i fikur, d.m.th. qelizat numërohen A1, A2, etj. Në skedën Edit, duhet të vendoset zgjedhja Lëviz pas Enter.

3.2. Shkëmbimi i të dhënave midis MatLab dhe Excel

Filloni Excel, kontrolloni nëse gjithçka është bërë cilësimet e nevojshme siç përshkruhet në seksionin e mëparshëm (MatLab duhet të jetë i mbyllur). Futni një matricë në qelizat A1 deri në C3, përdorni një pikë për të ndarë numrat dhjetorë siç kërkohet nga Excel.

Zgjidhni të dhënat e qelizave në fletë dhe shtypni butonin putmatrix, shfaqet një dritare Excel me një paralajmërim se MatLab nuk po funksionon. Klikoni OK, prisni që MatLab të hapet.

Një kuti dialogu Excel shfaqet me një linjë hyrëse për të specifikuar emrin e ndryshores së punës. Mjediset MatLab Në të cilën dëshironi të eksportoni të dhënat nga qelizat e zgjedhura të Excel. Futni, për shembull, M dhe mbyllni dritaren me butonin OK. Shkoni te dritarja e komandës MatLab dhe sigurohuni që ndryshorja M është krijuar në mjedisin e punës, që përmban një grup tre-nga-tre:

Kryeni disa operacione në MatLab me matricën M, për shembull, përmbysni atë.

Thirrni inv për të përmbysur një matricë, si çdo komandë tjetër MatLab, mund të bëhet direkt nga Excel. Shtypja e butonit evalstring të vendosur në panelin Excel Link çon në shfaqjen e një kutie dialogu, në vijën hyrëse të së cilës duhet të shkruani komandën MatLab

IM=inv(M) .

Rezultati është i ngjashëm me atë të marrë gjatë ekzekutimit të komandës në mjedisin MatLab.

Kthehuni në Excel, bëni qelizën A5 qelizën aktuale dhe klikoni butonin getmatrix. Shfaqet një kuti dialogu me një linjë hyrëse në të cilën duhet të futni emrin e ndryshores që do të importohet në Excel. V këtë rast një variabël i tillë është IM. Klikoni OK, elementët e matricës së kundërt futen në qelizat A5 deri në A7.

Pra, për të eksportuar matricën në MatLab, duhet të zgjidhni qelizat e duhura Fletë Excel, dhe për import mjafton të specifikoni një qelizë, e cila do të jetë elementi majtas sipër i grupit të importuar. Elementet e mbetura do të shkruhen në qelizat e fletës sipas madhësisë së grupit, duke mbishkruar të dhënat që gjenden në to, kështu që duhet të keni kujdes kur importoni vargje.

Qasja e mësipërme është më e shumta në një mënyrë të thjeshtë shkëmbimi i informacionit ndërmjet aplikacioneve - të dhënat fillestare përmbahen në Excel, më pas eksportohen në MatLab, përpunohen atje në një farë mënyre dhe rezultati importohet në Excel. Përdoruesi transferon të dhëna duke përdorur butonat e shiritit të veglave Excel Link. Informacioni mund të paraqitet në formën e një matrice, d.m.th. zona drejtkëndore e fletës së punës. Qelizat e renditura në një rresht ose kolonë eksportohen në vektorët e rreshtave dhe vektorët e kolonave në MatLab, përkatësisht. Në mënyrë të ngjashme, ndodh importimi i vektorëve të rreshtave dhe vektorëve të kolonave në Excel.

4. Programimi

4.1. M-skedarët

Puna nga linja e komandës MatLab është e vështirë nëse duhet të futni shumë komanda dhe t'i ndryshoni ato shpesh. Mbajtja e një ditari me një urdhër ditar dhe ruajtja e ambientit të punës e bëjnë punën pak më të lehtë. Mënyra më e përshtatshme për të ekzekutuar grupe komandash MatLab është përdorimi i skedarëve M, në të cilët mund të shtypni komanda, t'i ekzekutoni të gjitha menjëherë ose në pjesë, t'i ruani në një skedar dhe t'i përdorni më vonë. Redaktori i skedarëve M është krijuar për të punuar me skedarët M. Me të, ju mund të krijoni funksionet tuaja dhe t'i telefononi ato, duke përfshirë nga dritarja e komandës.

Zgjeroni menynë File të dritares kryesore të MatLab dhe në artikullin New zgjidhni nën-artikullin M-file . Skedari i ri hapet në dritaren e redaktuesit të skedarit M të paraqitur në figurë.

Ekzistojnë dy lloje të skedarëve M në MatLab: skedari i programit ( Skript M-Files) që përmban një sekuencë komandash dhe një skedar funksioni, ( Funksioni M-Files) që përshkruajnë funksionet e përcaktuara nga përdoruesi.

4.2. Program skedari

Shkruani komandat në redaktues që çojnë në ndërtimin e dy grafikëve në një dritare grafike

Ruajeni skedarin tani me emrin mydemo.m në nëndrejtorinë e punës së direktoriumit kryesor MatLab duke zgjedhur artikullin Ruaj si nga menyja File e redaktorit. Për të ekzekutuar të gjitha komandat që përmban skedari, zgjidhni artikullin Run nga menyja Debug. Një dritare grafike do të shfaqet në ekran. Figura 1, që përmban grafikët e funksioneve.

Komandat e programit të skedarit dalin në dritaren e komandës. Për të shtypur daljen, përfundoni komandat me një pikëpresje. Nëse bëhet një gabim gjatë shtypjes dhe MatLab nuk mund ta njohë komandën, atëherë komandat ekzekutohen derisa të futet gabimisht, pas së cilës shfaqet një mesazh gabimi në dritaren e komandës.

Shumë mundësi e përshtatshme me kusht Redaktori i skedarit M, është ekzekutimi i një pjese të komandave. Mbyllni dritaren e grafikës Figura 1. Zgjidhni me miun duke mbajtur të shtypur butonin e majtë, ose me tastet e shigjetave ndërsa mbani të shtypur tastin Zhvendosja, katër komandat e para dhe ekzekutojini ato nga artikulli Tekst. Ju lutemi vini re se vetëm një grafik u shfaq në dritaren grafike, që korrespondon me komandat e ekzekutuara. Mos harroni se për të ekzekutuar disa nga komandat, duhet t'i zgjidhni ato dhe të shtypni tastin F9.

Blloqe të veçanta të skedarit M mund të sigurohen me komente që anashkalohen gjatë ekzekutimit, por janë të përshtatshëm kur punoni me skedarin M. Komentet fillojnë me një shenjë përqindjeje dhe theksohen automatikisht me të gjelbër, për shembull:

Hapja e një skedari ekzistues M bëhet duke përdorur artikullin Open të menysë File të mjedisit të punës, ose redaktorin e skedarit M.

4.3. funksioni i skedarit

Skedar-programi i konsideruar më sipër është vetëm një sekuencë komandash MatLab, ai nuk ka argumente hyrëse dhe dalëse. Për të përdorur metoda numerike dhe kur programoni aplikacionet tuaja në MatLab, duhet të jeni në gjendje të kompozoni funksione skedari që prodhojnë veprimet e nevojshme me argumente hyrëse dhe kthen rezultatin e veprimit në argumentet dalëse. Le të hedhim një vështrim në disa shembuj të thjeshtë për të kuptuar se si të punoni me funksionet e skedarëve.

Kur përpunohen paraprakisht të dhënat e analizës multivariate, kimiometria shpesh përdor përqendrimin. Ka kuptim të shkruani një skedar funksioni një herë dhe më pas ta thërrisni kudo që të nevojitet përqendrimi. Hapni një skedar të ri në redaktuesin e skedarit M dhe shkruani

Fjala funksion në rreshtin e parë specifikon që ky skedar përmban një skedar funksioni. Rreshti i parë është titulli i funksionit, i cili përmban emrin e funksionit dhe listën e argumenteve hyrëse dhe dalëse. Në shembull, emri i funksionit është në qendër, një argument hyrës është X dhe një argument në dalje është Xc. Kreu ndiqet nga komentet, dhe më pas trupi i funksionit (në këtë shembull përbëhet nga dy rreshta), ku llogaritet vlera e tij. Është e rëndësishme që vlera e llogaritur të shkruhet në Xc. Mos harroni të përfshini një pikëpresje për të parandaluar shfaqjen e informacionit të tepërt në ekran. Tani ruani skedarin në drejtorinë tuaj të punës. Vini re se zgjedhja e Ruaj ose Ruaj si nga menyja File sjell një kuti dialogu të skedarit të ruajtjes, fusha e emrit të skedarit tashmë përmban qendrimin e emrit . Mos e ndryshoni atë, ruajeni skedarin e funksionit në një skedar me emrin e sugjeruar!

Tani funksioni i krijuar mund të përdoret në të njëjtën mënyrë si sinji i integruar, cos dhe të tjerët. Thirrja e funksioneve të veta mund të kryhet nga një program skedar dhe nga një funksion tjetër skedar. Mundohuni të shkruani vetë një skedar funksioni që do të shkallëzojë matricat, d.m.th. ndani secilën kolonë me devijimin standard për atë kolonë.

Është e mundur të shkruhet një skedar funksioni me argumente të shumta hyrëse, të cilat vendosen në një listë të ndarë me presje. Ju gjithashtu mund të krijoni funksione që kthejnë vlera të shumta. Për ta bërë këtë, argumentet e daljes shtohen, të ndara me presje, në listën e argumenteve të daljes dhe vetë lista mbyllet në kllapa katrore. Një shembull i mirë është një funksion që konverton një kohë të dhënë në sekonda në orë, minuta dhe sekonda.

Kur thirrni funksione skedari me argumente të shumëfishta dalëse, rezultati duhet të shkruhet në një vektor me gjatësinë e duhur.

4.4 Krijimi i një grafiku

MatLab ka mundësi të shumta për imazh grafik vektorët dhe matricat, si dhe për krijimin e komenteve dhe shtypjen e grafikëve. Le të japim një përshkrim të disa funksioneve të rëndësishme grafike.

Funksioni komplot ka forma të ndryshme të lidhura me parametrat e hyrjes, për shembull, grafiku(y) prodhon një grafik vijash pjesë-pjesë të elementeve y kundrejt indekseve të tyre. Nëse dy vektorë jepen si argumente, atëherë grafiku(x,y) do të vizatojë y kundrejt x. Për shembull, për të vizatuar funksionin sin në rangun nga 0 në 2π, ne do të bëjmë sa më poshtë

Programi ka ndërtuar një grafik varësie, i cili shfaqet në dritare Figura 1

MatLab cakton automatikisht një ngjyrë të ndryshme për çdo grafik (përveç rasteve kur përdoruesi e bën atë), gjë që bën të mundur dallimin e grupeve të të dhënave.

Ekipi prit ju lejon të shtoni kthesa në një grafik ekzistues. Funksioni nënplot ju lejon të shfaqni grafikë të shumtë në një dritare

4.5 Printimi i grafikëve

Artikulli Print në menynë File dhe komanda shtypur printoni grafikë MatLab. Menyja Print sjell një kuti dialogu që ju lejon të zgjidhni opsionet standarde të zakonshme të printimit. Ekipi shtypur ofron më shumë fleksibilitet në nxjerrjen e të dhënave dhe ju lejon të kontrolloni printimin nga skedarët M. Rezultati mund të dërgohet drejtpërdrejt në printerin e paracaktuar ose të ruhet në një skedar të paracaktuar.

5. Shembuj programesh

Ky seksion liston algoritmet më të zakonshme të përdorura në analizën e të dhënave me shumë variacione. Janë konsideruar të dy metodat më të thjeshta të transformimit të të dhënave - përqendrimi dhe shkallëzimi, dhe algoritmet për analizën e të dhënave - PCA, PLS.

5.1. Përqendrimi dhe shkallëzimi

Shpesh, analiza kërkon transformimin e të dhënave burimore. Metodat më të përdorura të transformimit të të dhënave janë përqendrimi dhe shkallëzimi i çdo ndryshoreje sipas devijimit standard. Në kodin e funksionit për centrimin e matricës është dhënë. Prandaj, vetëm kodi i funksionit është paraqitur më poshtë, i cili peshore të dhëna. Vini re se matrica origjinale duhet të jetë e përqendruar

funksioni Xs = shkallëzim (X)
% shkallëzim: matrica e daljes është Xs
% matrica X duhet të jetë në qendër

Xs = X * inv(diag(std(X)));

%fundi i shkallëzimit

5.2. SVD/PCA

Shumica mënyrë popullore Kompresimi i të dhënave në analizën multivariate është analiza e komponentit kryesor (PCA). Nga pikëpamja matematikore, PCA është një dekompozim i matricës origjinale X, d.m.th. duke e përfaqësuar atë si produkt i dy matricave T dhe P

X = TP t + E

Matricë T quhet matrica e pikëve (pikëve), matrica është matrica e mbetjeve.

Mënyra më e thjeshtë për të gjetur matricat T dhe P- përdorni zbërthimin e SVD përmes një funksioni standard MatLab të quajtur svd .

funksion = pcasvd (X)

Svd (X);
T=U*D;
P=V;

%fundi i pcasvd

5.3 PCA/NIPALS

Për të ndërtuar rezultatet dhe ngarkesat PCA, përdoret algoritmi rekurziv NIPALS, i cili llogarit një komponent në çdo hap. Së pari matrica origjinale X transformohet (të paktën - në qendër; shih) dhe shndërrohet në matricë E 0 , a=0. Më pas, zbatohet algoritmi i mëposhtëm.

t 2. fq t = t t Ea / t t t 3. fq = fq / (fq t fq) ½ 4. t = Ea fq / fq t fq 5. Kontrolloni konvergjencën, nëse jo, atëherë shkoni te 2

Pas llogaritjes së radhës ( a th) komponentë, supozojmë ta=t dhe fqa=fq E a+1 = Eat fq aa+1.

Kodi i algoritmit NIPALS mund të shkruhet nga vetë lexuesit; në këtë manual, autorët paraqesin versionin e tyre. Kur llogaritni PCA, mund të futni numrin e komponentëve kryesorë (numri i ndryshueshëmPC ). Nëse nuk dihet se sa komponentë nevojiten, duhet të shkruani në vijën e komandës = pcanipals (X) dhe më pas programi do të vendosë numrin e komponentëve të barabartë me dimensionet më të vogla të matricës origjinale. X.

funksioni = pcanipals (X, numriPC)

% llogaritja e numrit të komponentëve
= madhësia (X); P=; T=;

Nëse gjatësia (numri PC) > 0
pc = numriPC(1);
elseif (gjatësia(numriPC) == 0) & X_r< X_c
pc = X_r;
tjetër
pc = X_c;
fundi;

për k = 1: pc
P1 = rand(X_c, 1); T1=X*P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1))"; P1 = P1/normë (P1); T1 = X * P1; d = T1" * T1;

Ndërsa d - d0 > 0,0001;
P1 = (T1" * X/(T1" * T1)); P1 = P1 / normë (P1); T1=X*P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1)); P1 = P1 / normë (P1); T1=X*P1; d = T1"*T1;
fund

X = X - T1 * P1; P = mace (1, P, P1"); T = ;
fund

Mësoni se si të llogaritni PCA me shtesën Chemometrics në tutorial

5.4PLS1

Metoda më e popullarizuar për kalibrimin me shumë variacione është metoda e projeksionit në strukturat latente (PLS). Kjo metodë kryen zbërthimin e njëkohshëm të matricës parashikuese X dhe matricat e përgjigjes Y:

X=TP t + E Y=UQ t + F T=XW(P t W) –1

Projeksioni është ndërtuar në mënyrë të qëndrueshme, në mënyrë që të maksimizohet korrelacioni midis vektorëve përkatës. X-llogaritë ta dhe Y-llogaritë ua. Nëse blloku i të dhënave Y përfshin përgjigje të shumta (d.m.th. K>1), është e mundur të ndërtohen dy projeksione të të dhënave fillestare - PLS1 dhe PLS2. Në rastin e parë, për secilën nga përgjigjet y k ndërtohet nënhapësira e saj e projeksionit. Në të njëjtën kohë, llogaritë T (U) dhe ngarkesat P (W, P) varet nga cila përgjigje përdoret. Kjo qasje quhet PLS1. Për metodën PLS2, ndërtohet vetëm një hapësirë ​​projeksioni, e cila është e zakonshme për të gjitha përgjigjet.

Një përshkrim i detajuar i metodës PLS është dhënë në këtë libër.Për të ndërtuar pikët dhe ngarkesat PLS1, përdoret një algoritëm rekurziv. Së pari matricat origjinale X dhe Y qendër

= mc(X);
= mc(Y);

dhe ato kthehen në një matricë E 0 dhe vektor f 0 , a=0. Pastaj ndaj tyre zbatohet algoritmi i mëposhtëm

1. w t = fa t E a 2. w = w / (w t w) ½ 3. t = Ea w 4. q = t t fa / t t t 5. u = qfa / q 2 6. fq t = t t Ea / t t t

Pas llogaritjes së radhës ( a th) komponentë, supozojmë ta=t dhe fqa=fq. Për të marrë komponentin tjetër, duhet të llogaritni mbetjet E a+1 = Eat fq t dhe aplikoni të njëjtin algoritëm për to, duke zëvendësuar indeksin aa+1.

Këtu është kodi për këtë algoritëm, marrë nga libri

funksion = pls (x, y)
%PLS: llogarit një komponent PLS.
%Vektorët e daljes janë w, t, u, q dhe p.
%
% Zgjidhni një vektor nga y si vektor fillestar u.

u = y(:, 1);

% Kriteri i konvergjencës është vendosur shumë i lartë.
cri = 100;

% Komandat nga këtu në fund përsëriten deri në konvergjencë.
ndërsa (cri > 1e - 10)

% Çdo vektor fillestar u ruhet si u vjetër.
uold = u; w = (u" * x)"; w = w/norm(w);
t = x*w; q = (t" * y)"/(t" * t);
u = y * q/(q" * q);

% Kriteri i konvergjencës është norma e uold pjesëtuar me normën e u.
kri = normë(uold - u)/norm(u);
fundi;

% Pas konvergjencës, njehsoni p.
p = (t" * x)"/(t" * t);

% Fundi i pls

Rreth llogaritjes së PLS1 me shtesën KimiometriaShtoje ne përshkruar në manualin Metodat e projektimit në Excel.

5,5PLS2

Për PLS2, algoritmi është si më poshtë. Së pari matricat origjinale X dhe Y transformohen (të paktën - në qendër; shih), dhe ato kthehen në matrica E 0 dhe F 0 , a=0. Pastaj ndaj tyre zbatohet algoritmi i mëposhtëm.

1. Zgjidhni një vektor fillestar u 2. w t = u t E a 3. w = w / (w t w) ½ 4. t = Ea w 5. q t = t t Fa / t t t 6. u = Fa q/ q t q 7. Kontrolloni konvergjencën, nëse jo, atëherë shkoni te 2 8. fq t = t t Ea / t t t

Pas llogaritjes së radhës ( a th) Komponentët PLS2 duhet të vendosen: ta=t, fqa=p,wa=w, ua=u dhe q a = q. Për të marrë komponentin tjetër, duhet të llogaritni mbetjet E a+1 = Eatp t dhe Fa +1 = F atq t dhe aplikoni të njëjtin algoritëm për to, duke zëvendësuar indeksin aa+1.

Këtu është kodi, i cili gjithashtu është huazuar nga libri.

funksion = pls (x, y, a)
% PLS: llogarit një komponent PLS.
% Matricat e daljes janë W, T, U, Q dhe P.
% B përmban koeficientët e regresionit dhe SS shumat e
% katrorë për mbetjet.
% a është numri i komponentëve.
%
% Për një komponent: përdorni të gjitha komandat për të përfunduar.

Për i=1:a
% Llogaritni shumën e katrorëve. Përdorni funksionin ss.
sx = ;
sy = ;

% Përdorni funksionin pls për të llogaritur një komponent.
= pls(x, y);

% Llogaritni mbetjet.
x = x - t * p";
y = y - t * q";

% Ruani vektorët në matrica.
W = ;
T = ;
U = ;
Q = ;
P = ;
fundi;

% Llogaritni koeficientët e regresionit pas ciklit.
B=W*inv(P"*W)*Q";

% Shtoni SS-në përfundimtare të mbetur në shumën e vektorëve katrorë.
sx=;
sy=;

% Bëni një matricë të vektorëve ss për X dhe Y.
SS = ;

Llogaritni fraksionin e SS të përdorur.
= madhësia (SS);
tt = (SS * diag (SS(1,:).^(-1)) - ato (a, b)) * (-1)

%Fundi i plsr

funksion = ss(x)
%SS: llogarit shumën e katrorëve të një matrice X.
%

ss=shuma(shuma(x. * x));
%fundi i ss

Rreth llogaritjes së PLS2 me shtesën KimiometriaShtoje ne përshkruar në manualin Metodat e projektimit në Excel.

konkluzioni

MatLab është një mjet shumë i njohur për analizën e të dhënave. Sipas sondazhit, deri në një e treta e të gjithë studiuesve e përdorin atë, ndërsa programi Unsrambler përdoret nga vetëm 16% e shkencëtarëve. Disavantazhi kryesor i MatLab është çmimi i tij i lartë. Përveç kësaj, MatLab është i mirë për llogaritjet rutinë. Mungesa e interaktivitetit e bën atë të papërshtatshëm gjatë kryerjes së kërkimit, llogaritjeve kërkimore për grupe të reja, të paeksploruara të të dhënave.

Shpresojmë t'ju kemi ndihmuar të zgjidhni problemin me skedarin MATLAB. Nëse nuk e dini se ku mund të shkarkoni një aplikacion nga lista jonë, klikoni në lidhjen (ky është emri i programit) - do të gjeni informacion më të detajuar në lidhje me vendin nga ku mund të shkarkoni një version të sigurt instalimi të aplikacionit të kërkuar .

Vizita e kësaj faqeje do t'ju ndihmojë t'u përgjigjeni në mënyrë specifike këtyre ose pyetjeve të ngjashme:

  • Si të hapni skedarin me shtesën MATLAB?
  • Si të konvertohet një skedar MATLAB në një format tjetër?
  • Cila është zgjerimi i formatit të skedarit MATLAB?
  • Cilat programe i shërbejnë skedarit MATLAB?

Nëse pas shikimit të artikujve në këtë faqe, nuk keni marrë ende një përgjigje të kënaqshme për ndonjë nga pyetjet e mësipërme, kjo do të thotë se informacioni në lidhje me skedarin MATLAB të paraqitur këtu nuk është i plotë. Na kontaktoni duke përdorur formularin e kontaktit dhe na tregoni se çfarë informacioni nuk keni gjetur.

Çfarë tjetër mund të shkaktojë probleme?

Mund të ketë më shumë arsye që nuk mund të hapni një skedar MATLAB (jo vetëm mungesa e një aplikacioni të përshtatshëm).
Së pari- skedari MATLAB mund të jetë i lidhur gabimisht (i papajtueshëm) me aplikacionin e instaluar për ta mbështetur atë. Në këtë rast, ju duhet ta ndryshoni vetë këtë lidhje. Për ta bërë këtë, klikoni me të djathtën në skedarin MATLAB që dëshironi të redaktoni, klikoni opsionin "Për të hapur me" dhe më pas zgjidhni programin që keni instaluar nga lista. Pasi ta bëni këtë, problemet me hapjen e skedarit MATLAB duhet të zhduken plotësisht.
Së dyti- skedari që dëshironi të hapni thjesht mund të jetë i dëmtuar. Në këtë rast, zgjidhja më e mirë është të gjeni një version të ri të tij, ose ta shkarkoni përsëri nga i njëjti burim (ndoshta për ndonjë arsye në seancën e mëparshme shkarkimi i skedarit MATLAB nuk ka përfunduar dhe nuk mund të hapet saktë).

Dëshironi të ndihmoni?

Nëse keni informacion shtesë në lidhje me shtesën e skedarit MATLAB, do t'ju jemi mirënjohës nëse e ndani me përdoruesit e faqes sonë. Përdorni formularin e dhënë dhe na dërgoni informacionin e skedarit tuaj MATLAB.

Mësimi numër 19.

Puna me skedarë

    Hapja dhe mbyllja e skedarëve

    Operacionet në skedarë binare

    Operacionet në skedarë të formatuar

    Pozicionimi i skedarit

    Skedarët e specializuar

Skedarët janë objekte mjaft të zakonshme në sistemin MATLAB. Disa lloje skedarësh janë diskutuar tashmë në kapitujt e mëparshëm. Ky mësim trajton vetitë e skedarëve që nuk varen nga lloji i tyre dhe zbatohen për çdo skedar.

Hapja dhe mbyllja e skedarëve

Skedari zakonisht është një koleksion i të dhënave të bashkuara me një emër. Lloji i skedarit zakonisht përcaktohet nga shtrirja e tij. Ne e konsiderojmë skedarin në tërësi, megjithëse fizikisht në disk mund të përfaqësohet nga disa zona - ata thonë se në këtë rast skedari është i fragmentuar.

Para se të përdorni ndonjë skedar, duhet të jetë hapur, dhe në fund të përdorimit - mbyllur. Shumë skedarë mund të hapen dhe të lexohen në të njëjtën kohë. Merrni parasysh komandat për hapjen dhe mbylljen e skedarëve.

    Komanda e emrit të hapur, ku emri duhet të përmbajë një grup karakteresh ose një variabël karakteresh, hap skedarë në varësi të analizimit të emrit të parametrit dhe shtesave në emrin e emrit:

    • variabël - hap një grup të emërtuar me emër në Redaktuesin e Arrayit;

      Mat - hap një skedar, ruan variablat në një strukturë në hapësirën e punës;

      Fig - e hap atë në Property Editor;

      M - hap një skedar m në redaktuesin-debugger;

      Mdl - hap modelin në Simulink;

      R - hap, nëse ekziston, një skedar m me të njëjtin emër;

      Html - hap një dokument HTML në shfletuesin ndihmës.

Nëse skedarët me shtesë ekzistojnë në shtegun MATLAB, atëherë skedari kthehet me anë të komandës emri i të cilit hapet; nëse jo, atëherë skedari nga sistemi i skedarëve. Nëse skedari nuk ka një shtesë emri, atëherë ai hapet nga një program, formati i skedarit të të cilit do të zbulohej nga funksioni igpsIGfilename") Si parazgjedhje, për të gjithë skedarët me mbaresa të ndryshme nga ato të listuara më sipër, thirret openother. Open thërret funksionet openxx, ku xxx është ekstensioni i skedarit.Përjashtim bëjnë variablat e hapësirës së punës ku thirret openvar dhe fotot që thirret openim. shtesa të reja në listë. Mbyll skedarët e hapur me ndihmë për hapjen, e nevojshme nga redaktorët e thirrur nga orenxxx.

    Uigetfile(FILTERSPEC.Title). Hap një dialog me emrin Titulli me një filtër FILTERSPEC (për shembull, një grup qelizash që përmban shtesa skedarësh) dhe kthen skedarin e zgjedhur nga përdoruesi dhe rrugën e tij. Kthen FILENAME=0 nëse skedari nuk ekziston ose nëse përdoruesi ka klikuar "Anulo". = uigetfile(FILTERSPEC, Title. X. Y) vendos kutinë e dialogut në X, Y (koordinatat e pikselit).

Shembull:

Uigetfile("*.m;*.fig;*.mat:*.mdl". "Të gjithë skedarët e MATLAB (*.m, *.fig, *.mat. *.mdl)": ...

    Uiputfile(FILTERSPEC.TITLE) ruan një skedar në një dialog të drejtuar nga përdoruesi. Parametrat janë të ngjashëm me ato në funksion uigetfile.

    Komanda UI hap hap një dialog dhe nëse përdoruesi ka zgjedhur një skedar me zgjerim i famshëm, e quan duke përdorur open, ose nëse emri i skedarit ka zgjerim i panjohur, atëherë thirret uigetfile. Argumentet hyrëse të uiopen mund të jenë mat lab, load, figure, simullink, editor. Pa argumente hyrëse ose me argument hyrës matlab, kutia e dialogut ju kërkon të zgjidhni *.m, *.fig, *.mat,*.mdl (nëse Simulink është i instaluar) , * . cdr (nëse është vendosur rrjedha e gjendjes), *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb (nëse është instaluar Workshop në kohë reale). Me ngarkesë argumenti - *.mat. Me argumentin e figurës, *.fig; bojë simul - *.mdl, redaktues - *.m, *.mdt *.cdr, *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb.

Shembull:

figurë e hapur.

    Komanda uiload hap një skedar në një dialog të drejtuar nga përdoruesi duke përdorur komandën load.

Funksioni i importit të UI hap magjistarin e importit, i cili importon nga një skedar në dosjen aktuale ose në kujtesën e Windows. Ai korrespondon me zgjedhjen e Import të dhënave nga menyja File ose zgjedhjen e Paste Special nga menyja Edit MATLAB.

    Ui import (FILENAME) - Fillon Import Wizard duke hapur skedarin FILENAME. Magjistari i importit tregon të dhënat për pamje paraprake. Të dhënat dhe paraqitja e tyre si variabla MATLAB shfaqen në dritaren e shikimit. Të dhënat aktuale, teksti dhe titujt përfaqësohen nga variabla të ndryshëm MATLAB. Për të dhënat ASCII, duhet të siguroheni që Import Wizard njeh ndarësit e kolonave. Më vete, ai mund të njohë vetëm karakterin e skedës, hapësirën, presjen ose pikëpresjen. Duhet të klikoni në butonin Next dhe në dritaren tjetër ose të konfirmoni zgjedhjen e ndarësit të bërë nga Wizard, ose të zgjidhni Tjetër dhe të futni çdo ndarës.

    ui import ("-f i le") - së pari shfaq një dialog për zgjedhjen e skedarit.

    ui import ("-pastespecial") - së pari shfaq përmbajtjen e kujtesës së Windows për shikim paraprak.

    S = ui import (...) ruan variablat që rezultojnë si fusha të strukturës S.

    Komanda uisave është një kursim i kontrolluar nga përdoruesi (komanda e ruajtjes përshkruhet në Mësimin 2) me një dialog Windows.

    Funksioni saveas ruan një model vizatimi ose Simulink në formatin e dëshiruar në një medium ruajtjeje ose në një pajisje të aktivizuar për printim.

    Funksioni saveas(H, "FILENAME") ruan të dhënat sipas komandës grafike të përshkruesit H në skedarin FILENAME. Formati i skedarit përcaktohet nga zgjerimi i emrit FILENAME.

    Funksioni saveas (H. "FILENAME" . "FORMAT") bën të njëjtën gjë, por me parametrin FORMAT (formati specifikohet në të njëjtën mënyrë si shtesa e emrit të skedarit dhe mund të ndryshojë nga ai). FORMAT ka përparësi ndaj zgjerimit të emrit të skedarit. Parametrat e funksionit:

Shembuj:

saveas(gcf. "output", "fig") saveasCgcf, "output", "bmp")

Komanda ose funksioni delete fshin një skedar ose objekt grafik.

    Fshi emrin e skedarit fshin një skedar në dosjen aktuale. Mund të përdoret *. Preferohet të përdoret me një hyrje në formën e funksionit delete ("mw of file") kur emri i skedarit është një varg.

    fshij(H) fshin objekt grafik me dorezë H. Nëse ky objekt është dritare, atëherë mbyllet paraprakisht.

    Funksioni mbyll (H) mbyll vetëm dritaret grafike. Duhet të përdorni komandën f close për të mbyllur skedarët.

Për të shkruar skedarë në disk, komanda ruaj përdoret në një formë mjaft të dukshme:

ruaj

ruaj emrin e skedarit ruaj emrin e skedarit varl var2 ... ruaj ... opsioni ruaj (" emri i skedarit" , ...)

Prandaj, komanda load përdoret për të lexuar skedarë nga disku:

ngarkesës

ngarkoni emrin e skedarit emri i skedarit të ngarkesës X Y Z

load filename -ascii load filename -mat

Në këto komanda, emri i skedarit specifikohet sipas rregullave të miratuara në sistemet operative Klasa MS-DOS. Këto komanda zakonisht dublikohen nga butonat e shiritit të veglave dhe shfletuesi i skedarëve.

Operacionet në skedarë binare

Binar ose binare, emrat e skedarëve, të dhënat e të cilëve janë kode makinerie. Operacionet kryesore me kode të tilla janë renditur më poshtë.

    fopen(emri i skedarit, leja) - hap një skedar me emrin e skedarit dhe parametrin e përcaktuar në leje dhe kthen fid me vlerën: 0 - lexuar nga tastiera (leja është vendosur në "r"); 1 - dalje në ekran (leja është vendosur në "a"); 2 - dalja e mesazhit të gabimit (leja është vendosur në "a"); -1 - dështimi për të hapur skedarin me dalje mesazh për llojin e gabimit. Identifikuesi fid përdoret shpesh si argument nga funksione të tjera dhe programe I/O. Emri i skedarit të emrit të skedarit mund të përmbajë një shteg drejt një skedari.

Nëse skedari që do të hapet për lexim nuk gjendet në drejtorinë aktuale, atëherë funksioni fopen kërkon skedarin në rrugën e specifikuar në MATLAB.

Parametri i lejes mund të marrë një nga vlerat bazë të mëposhtme (për të tjerët, shih sistemi i ndihmës):

    "r" - skedari i hapur për lexim (si parazgjedhje);

    "r+" - hapja e një skedari për lexim dhe shkrim;

    "w" - fshini përmbajtjen e një skedari ekzistues ose krijoni një të ri dhe hapeni atë për shkrim;

    "a" - krijoni dhe hapni një skedar të ri ose hapni një ekzistues përregjistrimet e bashkangjitura në fund të skedarit.

Shtimi i "b" në këtë rresht (parazgjedhja) i thotë sistemit të hapë skedarin në modalitetin binar.

Shtimi i një "t" në vend të b në këtë varg, si "rt", në sistemet operative që bëjnë dallimin midis skedarëve tekst dhe binar, e udhëzon sistemin të hapë skedarin në modalitetin e tekstit. Për shembull, në të gjitha versionet Windows/MS-DOS dhe VMS të MATLAB, nuk mund të hapni një skedar teksti pa parametrin "rt". Futja e skedarëve duke përdorur fopen në modalitetin e tekstit heq të gjitha kthimet e transportit përpara karakterit linjë e re.

    Fopentfilename.permission,format) - Hap një skedar siç përshkruhet më sipër, duke kthyer ID-në dhe mesazhin e skedarit. Për më tepër, vlera e parametrit të formatit ju lejon të përcaktoni saktësisht formati i numrave. Ekzistojnë 8 formate të mundshme, përshkrimi i të cilave mund të gjendet në sistemin e ndihmës. Në veçanti, vargu i formatit mund të jetë "native" (formati i kompjuterit në të cilin është instaluar sistemi), "vax", "cry" (kompjuterët VAX dhe Cray), etj.

Disa thirrje për fread ose fwrite mund të anashkalojnë formatin e numrit të specifikuar në thirrjen e hapur.

    fids = fopen C all") - kthen një vektor rreshti që përmban identifikuesit e të gjithë skedarëve të hapur, pa përfshirë rrymat standarde O, 1 dhe 2. Numri i elementeve vektoriale është i barabartë me numrin e skedarëve të hapur nga përdoruesi;

    fopen(fid) - kthen emri i plotë skedari, linja .permission dhe linja e formatit. Vlerat e pavlefshme fid kthejnë vargje boshe për të gjitha argumentet e daljes.

Komanda fclose mbyll një skedar. Ka opsionet e mëposhtme.

    Status = fclose(fid) - mbyll skedarin nëse është i hapur. Rikthen statusin e skedarit, i cili është 0 nëse mbyllja ishte e suksesshme dhe -1 përndryshe. Argumenti fid është një identifikues i lidhur me skedarin e hapur (shih funksionin fopen për një përshkrim më të detajuar);

    status = fclose("all") mbyll të gjithë skedarët e hapur. Kthen 0 nëse është i suksesshëm, -1 përndryshe.

Një shembull i hapjes dhe mbylljes së një skedari:

» fid=fopen("c:\ex"."a+") fid = 4

» fclose(4)

ans =

    Fread(fid,size,precision) - Lexon të dhënat binare nga skedari i dhënë dhe i vendos në matricën A. Argumenti count output përmban numrin e elementeve të lexuara me sukses. Vlera e fid është një numër i plotë i kthyer nga fopen; madhësia - një argument që specifikon sasinë e të dhënave që duhen lexuar. Nëse argumenti i madhësisë nuk specifikohet, funksioni f read lexon të dhënat deri në fund të skedarit.

Përdoren parametrat e mëposhtëm të madhësisë:

    n - leximi i n elementeve në një vektor kolone;

    Lexon aq elementë sa nevojiten për të mbushur matricën thp.

Mbushja ndodh në kolona. Nëse ka pak elementë në skedar, atëherë matrica është e mbushur me zero. Nëse leximi arrin në fund të skedarit pa mbushur matricën e madhësisë së kërkuar, atëherë matrica është e mbushur me zero. Nëse ndodh një gabim, leximi ndalon në vlerën e fundit të lexuar. Parametri i saktësisë është një varg që specifikon saktësinë numerike të vlerave të leximit, ai kontrollon numrin e biteve të lexuara për secilën vlerë dhe i interpreton ato bit si një numër i plotë, numër me pikë lundruese ose karakter.

    Fread(fid,size.precision,skip) - Përfshin një argument arbitrar kapërcimi që specifikon numrin e bajteve që duhen kapërcyer pas çdo leximi. Kjo mund të jetë e dobishme kur nxirren të dhëna jo të lidhura nga regjistrimet me gjatësi fikse. Nëse saktësia është në format bit, si "bitN 1 ose "ubitN", vlera e kapërcimit përcaktohet nga ~ copa. Lista e gjerë vlerat e mundshme parametri i saktësisë mund të gjendet në sistemin e ndihmës MATLAB;

    count=fwrite(fid,A,precision) - shkruan elementet e matricës A në një skedar, duke i paraqitur ato me saktësinë e specifikuar. Të dhënat shkruhen në skedar në kolona, ​​numërimi i argumenteve të daljes përmban numrin e elementeve të shkruara me sukses. Vlera e identifikuesit fid është një numër i plotë i marrë nga funksioni f open. Shton kthimet e transportit përpara fillimit të një linje të re;

    count=fwrite(fid.A,precision,skip) - bën të njëjtën gjë, por përfshin një argument arbitrar kapërcimi që specifikon numrin e bajteve që duhen kapërcyer përpara çdo shkrimi. Kjo është e dobishme kur futni të dhëna në zona jo të lidhura në regjistrimet me gjatësi fikse. Nëse saktësia është në format bit, si "bitN" ose "ubitN", vlera e kapërcimit specifikohet në bit.

Shembuj:

» fid = fopen("c:\prim","a+")

fid=

» A=magic(7)

A =

30

39

48

1

10

19

28

38

47

7

9

18

27

29

46

6

8

17

26

35

37

5

14

16

25

34

36

45

13

15

24

33

42

44

4

21

23

32

41

43

3

12

22

31

40

49

2

11

20

» count = fwrite(j.A)

Numërimi =

» status=fclose(3)

status=

» fid

Fopen ("c:\prim"."r")

fid=

» = fread(3.)

30

39

48

1

10

19

28

38

47

7

9

18

27

29

46

6

8

17

26

35

37

5

14

16

25

34

36

45

13

15

24

33

42

44

4

21

23

32

41

43

3

12

22

31

40

49

2

11

20

numëro =

Operacionet në skedarë të formatuar

Skedarët që përmbajnë të dhëna të formatuara quhen skedarë të formatuar. Më poshtë janë funksionet që përdoren për të punuar me skedarë të tillë.

    Line = fgetl(fid) - kthen një varg nga skedar me identifikues fid me karakterin e fundit të rreshtit të hequr. Nëse fgetl zbulon fundin e skedarit, ai kthen -1 (shih fopen për një përshkrim më të detajuar të fid);

    Line = f merr (fid) - kthen një rresht nga skedari me id fid pa hequr terminatorin e linjës. Nëse funksioni fgets zbulon fundin e skedarit, ai kthen -1;

    Line = fgets(fid.nchar) - kthen jo më shumë se nchar karakteret e para të një rreshti. Pas shenjës në fund të rreshtit ose në fund të skedarit, nuk lexohen karaktere shtesë (shih shembujt për funksionin fscanf);

    Count = fprintf(fid.format,A...) formaton të dhënat që gjenden në pjesën reale të matricës A nën kontrollin e vargut të formatit dhe i shkruan ato në një skedar me identifikuesin fid. Funksioni fprintf kthen numrin e bajteve të shkruara. Vlera e fid është një numër i plotë i kthyer nga funksioni fopen.

Nëse e hiqni identifikuesin fid nga lista e argumenteve për funksionin fprintf, atëherë dalja do të kryhet në ekran, ashtu si kur përdorni daljen standarde (fid=l).

    fprintf(format,A...) - shkruani në pajisje standarde- ekran (por jo në një skedar). Vargu i formatit përcakton sistemin e numrave, shtrirjen, shifra të rëndësishme, gjerësia e fushës dhe atributet e tjera të formatit të daljes. Mund të përmbajë shkronja të zakonshme të alfabetit së bashku me specifikuesit, shenjat e shtrirjes, etj.

Tabela 19.1. Karaktere të veçanta në vargjet e formatit

Simboli

Përshkrim

\n

Linja e re

\t

Skeda horizontale

\b

Ktheni një personazh

\r

Kthim ngarkese

\f

Faqe e re

\\

Vija e prapme

\"ose "

citat i vetëm

%%

Përqindje

Funksioni fprintf sillet si funksioni ekuivalent ANSI C fprintf, me disa përjashtime dhe shtesa. Në tabelë. 19.1 përshkruan karakteret speciale që gjenden në vargun e formatit. Për të nxjerrë të dhëna numerike ose karaktere në një varg formati, duhet të përdorni specifikuesit të listuara në tabelë. 19.2.

Tabela 19.2. Specifikimi i formatit të daljes së të dhënave

specifikues

Përshkrim

%d Sistemi dhjetor simbolet (të nënshkruara)
*Me Simboli i vetëm

%e

Paraqitja eksponenciale e numrave duke përdorur simbolin "e" në fund regjistrohuni, për shembull 3.1415e + 00

Paraqitja eksponenciale e numrave duke përdorur simbolin "E" në krye regjistrohuni, për shembull 3.1415E + 00

%f

Shënimi i pikës fikse

%g

Më kompakte e %e dhe %f. Zerot kryesore nuk dalin.

%G

Njësoj si %d, por përdor shkronjat e mëdha për karakterin "E".

%O

Shënim oktal (i panënshkruar)

%s

Varg karakteresh

%u

Shënim dhjetor (i panënshkruar)

%x


Shënim heksadecimal duke përdorur simbole shkronja të vogla("a"..."f")

%X

Shënim heksadecimal duke përdorur shkronja të mëdha ("A"..."F")

Karaktere shtesë mund të futen midis shenjës së përqindjes dhe shkronjës në specifikues. Kuptimi i tyre shpjegohet në tabelë. 19.3.

Tabela 19.3. Opsionet e specifikuesit të formatit

Simboli

Përshkrim

Shembull

Shenja minus" (-)

Vendosni argumentet e konvertuara në të majtë

%-5,2 ditë

Shenja plus (+)

Printoni gjithmonë shenjën e numrave (+ ose -)

%+5,2d

Zero (0)

Mbushje me zero në vend të hapësirave

%05.2d

Numrat

Përcakton numrin minimal të karaktereve që do të printohen

%6f

Numrat (pas pikës)

Numri pas pikës përcakton numrin e karaktereve të printuaranë të djathtë të pikës dhjetore

%6.2f

    A = fscanf(fid, format) - lexon të gjitha të dhënat nga skedari me identifikues, fid, i konverton ato sipas vlerës së parametrit të formatit dhe e kthen atë si matricë A. Vlera e fid është një numër i plotë i kthyer nga funksioni fopen . Parametri i formatit është një varg që specifikon formatin e të dhënave që do të lexohen;

    Fscanf(fid.format,size) - lexon sasinë e të dhënave të specifikuar nga parametri i madhësisë, e konverton atë sipas parametrit të formatit dhe e kthen atë së bashku me numrin e elementeve të numërimit të lexuar me sukses. Parametri i madhësisë është një argument arbitrar që specifikon sasinë e të dhënave që duhen lexuar. Vlerat e vlefshme janë:

    • inf - lexoni elementet deri në fund të skedarit dhe vendosini ato në një vektor kolone që përmban të njëjtin numër elementesh si në skedar;

      Lexon aq elementë sa nevojiten për të mbushur matricën e madhësisë thp. Mbushja ndodh në kolona. Vlera n (por jo!) mund të marrë vlerën Inf.

Vargu i formatit përbëhet nga personazhe të rregullt dhe/ose specifikuesit. Specifikuesit tregojnë llojin e të dhënave që lexohen dhe përfshijnë karakterin %, opsioni i gjerësisë së fushës dhe karakteret e formatit. Karakteret e formatit të mundshëm janë renditur në tabelë. 19.4.

Tabela 19.4. Formatoni karakteret e përdorura nga fscanf

Simboli

Përshkrim

Sekuenca e personazheve; parametri i gjerësisë së fushës përcakton numrin e karaktereve për të lexuar

%d

Numri dhjetor

%e, %f, %g

numër me pikë lundruese

%i

Numër i plotë i nënshkruar

%o

numër oktal nënshkruar

%s

Sekuenca e karaktereve pa hapësirë ​​të bardhë

%u

Numër i plotë dhjetor i nënshkruar

%x

Numër i plotë i nënshkruar heksadecimal

[...]

Sekuenca e personazheve

Mes karakterit % dhe karakterin e formatit, lejohet të futen karakteret e mëposhtme:

    Një yll (*) do të thotë që vlera përkatëse nuk ka nevojë të ruhet në matricën e daljes;

    Një varg grupesh numrash gjerësia maksimale fusha;

    Shkronja tregon madhësinë e objektit që rezulton: h për një numër të plotë të shkurtër (për shembull, %n d), 1 për një numër të plotë të gjatë (për shembull, %ld), ose për një numër me pikë lundruese me saktësi të dyfishtë (për shembull, % lg ).

Shembuj:

» x = 0:pi/10:pi:y-;

» fid = fopen "c:\sin.txt". V);

» fprintf(fid."X5.3f *10.6f\n".y):fclose(fid);

0.000 0.000000

0.314 0.309017

0.628 0.587785

0.942 0.809017

1.257 0.951057

1.571 1.000000

1.885 0.951057

2.199 0.809017

2.513 0.587785

2.827 0.309017

3.142 0.000000

» fid = fopen("c:\sin.txt"."r");

» q=fscanf(fid."*g".):

"q"

ans =

0.3140 0.3090

0.6280 0.5878

0.9420 0.8090

1.2570 0.9511

1.5710 1.0000

1.8850 0.9511

2.1990 0.8090

2.5130 0.5878

2.8270 0.3090

» fgetl(fid)

ans=

3.142 0.000000

» fgets(fid)

ans=

» fclose(fid)

ans=

Pozicionimi i skedarit

Kur lexoni dhe shkruani skedarë, ato përfaqësohen në mënyrë konvencionale si të dhëna të rregulluara në mënyrë lineare, të ngjashme me regjistrimin në një shirit magnetik të vazhdueshëm. Pozicioni nga i cili po zhvillohet aktualisht leximi (ose pozicioni nga i cili regjistrimi në vazhdim), përcaktohet nga një speciale tregues. Skedarët e aksesit të njëpasnjëshëm shikohen rreptësisht nga fillimi në fund dhe në skedarë akses të rastësishëm treguesi mund të vendoset kudo nga ku shkruhen ose lexohen të dhënat e skedarit.

Kështu, treguesi siguron pozicionimin e skedarit. Ekzistojnë një numër funksionesh pozicionimi:

    Eofstat = feof(fid) - kontrollon nëse është arritur fundi i skedarit me id fid. Kthen 1 nëse treguesi është në fund të skedarit, 0 përndryshe;

    Message = ferror(fid) - I kthen detajet e gabimit si varg mesazhi. Argumenti fid është identifikuesi i skedarit të hapur (shih funksionin fopen për një përshkrim të detajuar);

    Message = f error (f id,"clear") - fshin treguesin e gabimit për skedarin e specifikuar;

    Ferror(.) - Rikthen gabimin e operacionit të fundit I/O për skedarin e dhënë.

Nëse operacioni i fundit I/O i kryer në skedarin e specifikuar nga fid ishte i suksesshëm, vlera e mesazhit është vijë bosh, dhe errnum është vendosur në 0.

Një vlerë errnum e ndryshme nga zero tregon se ka ndodhur një gabim gjatë operacionit të fundit I/O. Parametri i mesazhit përmban një varg që përmban informacion në lidhje me natyrën e gabimit që ka ndodhur.

Shembull:

» fid=fopen("c:\shembull"."a+")

fid=

» t= fread(3,)

Matrica e zbrazët: 4 me 0

» ferror(3)

ans=

A është skedari i hapur për lexim? . . .

    frewind(fid) - vendos treguesin e pozicionit në fillim të skedarit me identifikuesin fid;

    Status - fseekCfid,offset,origjina) - vendos treguesin në skedar me identifikuesin fid në pozicionin e specifikuar - për bajt, specifikuar sipas parametrave kompensuar në lidhje me origjinën.

Argumentet:

    fid është identifikuesi i skedarit i kthyer nga funksioni fopen;

    kompensim - një vlerë që interpretohet si më poshtë:

    • offset>0 - ndryshon pozicionin e treguesit në offset bytes drejt fundit të skedarit;

      offset=0 - nuk ndryshon pozicionin e treguesit;

      kompensuar<0 - изменяет позицию указателя на offset байт в направлении к началу файла;

    Origjina është një argument që merr vlerat e mëposhtme:

    • "bof ose -1 - fillimi i skedarit;

      "cof" ose 0 - pozicioni aktual i treguesit në skedar;

      "eof" ose 1 - fundi i skedarit;

    statusi është argumenti i daljes. Merr vlerën 0 nëse operacioni fseek ishte i suksesshëm, dhe -1 përndryshe. Nëse ndodh një gabim, përdorni funksionin ferror për më shumë informacion;

    position=ftel I (fid) - kthen pozicionin e treguesit të skedarit për skedarin me ID-në fid të marrë duke përdorur funksionin fopen. Argumenti i daljes së pozicionit është një numër i plotë jo negativ që specifikon pozicionin e treguesit në bajt në lidhje me fillimin e skedarit. Nëse kërkesa ishte e pasuksesshme, pozicioni merr vlerën -1. Përdorni funksionin ferror për të shfaqur natyrën e gabimit.

Shembuj:

» f id-fopen("с:\shembull"."a+")

fid=

» count = fwrite(3,magic(6))

Numri = 36

» ftelK3)

ans=

» frewind(3):ftell(3)

ans=

» fseek(3.12.0);ftell(3)

ans=

» feof(3)

ans=

» fclose(3)

ans=

    S=sprintf(format,A,...) - formaton të dhënat në matricën A në formatin e përcaktuar nga parametri i formatit dhe krijon një variabël vargu s prej tyre;

    SprintfCformat,A...) - i ngjashëm me funksionin e përshkruar më parë, por gjithashtu kthen vargun e gabimit errmsg nëse ka ndodhur një gabim, ose një varg bosh përndryshe. Vargu i formatit përcakton sistemin e numrave, shtrirjen, shifrat domethënëse, gjerësinë e fushës dhe atributet e tjera të formatit të daljes. Mund të përmbajë karaktere të rregullta si dhe specifikues, karaktere zgjerimi, etj. Funksioni fprintf sillet si funksioni ekuivalent ANSI C fprintf 0, me disa përjashtime dhe shtesa.

Shembuj:

» sprintfC"*0.5g".(l+sqrt(7))/4)

ans =

0.91144

» sprintfc "%s","Hej")

ans =

Hej

Funksioni sscanf është i ngjashëm me funksionin fscanf, me përjashtim të faktit që lexon të dhëna nga një ndryshore e karakterit të sistemit MATLAB dhe jo nga një skedar.

    A = sscanf (s, format) - lexon të dhënat nga ndryshorja e karakterit s, i konverton ato sipas vlerës së formatit dhe krijon matricën A në bazë të këtyre të dhënave. Parametri i formatit përcakton formatin e të dhënave që do të lexohen;

    A = sscanf(s, format, madhësia) - lexon sasinë e të dhënave të specifikuara nga parametri i madhësisë dhe e konverton atë sipas vargut të formatit. Parametri i madhësisë është një argument që specifikon sasinë e të dhënave për t'u lexuar. Vlerat e vlefshme janë:

    • n - leximi i n elementeve në një vektor kolone;

      inf - lexoni elementet deri në fund të ndryshores së karakterit dhe vendosini ato në një vektor kolone që përmban të njëjtin numër elementesh si në variablin e vargut;

      Lexon aq elementë sa nevojiten për të mbushur matricën e madhësisë thp. Mbushja ndodh në kolona. Vlera n (por jo!) mund të marrë vlerën Inf.

    Sscanf(...) - lexon të dhënat nga ndryshorja e karakterit s, i konverton ato sipas vlerës së formatit dhe e kthen në matricën A. Parametri count është një output.argument që kthen numrin e elementeve të lexuara me sukses; errmsg është një argument dalës që kthen një varg gabimi nëse ka ndodhur një gabim, dhe një varg bosh në të kundërt; Nextindex është një argument dalës që përmban një numër një më të madh se numri i karaktereve në s.

Vargu i formatit përbëhet nga karaktere dhe specifikues normalë. Specifikuesit specifikojnë llojin e të dhënave dhe përfshijnë një karakter %, opsioni i gjerësisë së fushës dhe karakteret e formatit. Shpjegimet mund të gjenden në përshkrimin e funksionit fscanf.

Shembull:

» s = "4.83 3.16 22 45";

» = sscanf(s. "%f")

A =

4.8300 - 3.1600

22.0000

45.0000

Gabim =

tjetër =

Skedarët e specializuar

Funksionet e mëposhtme janë për disa skedarë të specializuar:

    M = dlmread(emri i skedarit, kufizuesi) Lexon të dhënat nga emri i skedarit me një ndarës ASCII, duke përdorur përcaktuesin ndarës, në një grup M. Përdorni "\t" i për të specifikuar një karakter tab si ndarës;

    M = dlmreadCfilename.delimiter,r.c) - lexon të dhënat nga emri i skedarit me një përcaktues ASCII, duke përdorur përcaktuesin ndarës, në një grup M, duke filluar nga kompensimi r (nga rreshtat) dhe c (sipas kolonave). Parametrat r dhe c janë të bazuara në zero, kështu që r=0, c=0 korrespondon me vlerën e parë në skedar;

    M = dlmreadCfilename, deli mi ten, r, c, range) - importon një gamë të indeksuar ose të emërtuar të të dhënave të kufizuara ASCII. Për të përdorur një varg qelizash, duhet të përcaktoni parametrin e diapazonit si varg = [TopRow. Kolona e majtë. BottomRow, RightColumn].

Argumentet për funksionin dlmread janë si më poshtë:

    Kufizues - një karakter që ndan elementet individuale të matricës në një tabelë ASCII;

    (,) - ndarës i paracaktuar;

    R, c - qeliza e tabelës nga e cila janë marrë elementët e matricës që korrespondojnë me elementët në këndin e sipërm të majtë të tabelës;

    varg - një vektor që përcakton një gamë të qelizave të fletëllogaritjes.

Komanda dlmwrite konverton një matricë MATLAB në një skedar të kufizuar ASCII të lexueshëm nga programet e spreadsheet:

    Dl mwri te (f i 1 ename. A. delimiter) - shkruan matricën A në qelizën e sipërme majtas të tabelës së emrit të skedarit, duke përdorur kufizuesin për të ndarë elementet e matricës. Përdorni "U" për të krijuar një skedar me artikuj të kufizuar me skeda. Të gjithë elementët me vlerë 0 janë hequr. Për shembull, një grup do të shfaqet në skedar si "1., 2" (nëse ndarësi është presje):

    dlmwrite(filename,A,delimiter, r,c) - Shkruan matricën A në emrin e skedarit, duke filluar nga qeliza e specifikuar nga r dhe c, duke përdorur përcaktuesin ndarës;

    info=imfinfo(filename.fmt) - kthen një strukturë, fushat e së cilës përmbajnë informacion rreth imazhit në skedarin grafik. Argumenti i emrit të skedarit është një varg që specifikon emrin e skedarit grafik, fmt është një varg që specifikon formatin e skedarit. Skedari duhet të jetë në drejtorinë aktuale ose në drejtorinë e specifikuar në shtegun MATLAB. Nëse imflinfo nuk mund të gjejë një skedar me emrin filename, ai kërkon një skedar me emrin filename.fmt.

Në tabelë. Figura 19.5 tregon vlerat e mundshme për argumentin fmt.

Tabela 19.5. Formatet grafike të mbështetura dhe simbolet e tyre

Nëse emri i skedarit është një skedar TIFF ose HDF që përmban më shumë se një imazh, atëherë 1 nf o është një grup strukturash me një element të veçantë (dmth. strukturë individuale) për çdo imazh në skedar. Për shembull, info(3) më pas do të përmbajë informacion për imazhin e tretë në skedar. Grupi i fushave në informacion varet nga skedari specifik dhe formati i tij. Megjithatë, nëntë fushat e para janë gjithmonë të njëjta. Në tabelë. 19.6 rendit këto fusha dhe përshkruan kuptimet e tyre.

Tabela 19.6. Fushat e strukturës së informacionit dhe kuptimet e tyre

Fusha Kuptimi
emri i skedarit Një varg që përmban emrin e skedarit; nëse skedari nuk është në drejtorinë aktuale, rreshti përmban shtegun e plotë të skedarit
FileModDate Një varg që përmban datën kur skedari është modifikuar për herë të fundit
Madhësia e skedarit Një numër i plotë që tregon madhësinë e skedarit në bajt
Formati Një varg që përmban formatin e skedarit të specifikuar nga parametri fmt; për skedarët JPEG dhe TIFF, kthehet një vlerë me tre karaktere
FormatVersion Një varg ose numër që përshkruan versionin e formatit
Gjerësia Një numër i plotë që specifikon gjerësinë e imazhit në pixel
Lartësia Një numër i plotë që tregon lartësinë e imazhit në pixel
Bit Thellësia Një numër i plotë që tregon numrin e biteve për pixel
lloji i ngjyrës Një varg që përshkruan llojin e imazhit: "truecolor" për një imazh RGB, "grade gri" për një imazh në shkallë gri ose "i indeksuar" për një imazh me ngjyra të indeksuar

    Info = imfinfo(emri i skedarit) - përpiqet të përcaktojë formatin e skedarit nga përmbajtja. Shembull:

» info = irrifinfo ("C:\exhibition\Internet.bmp")

info=

Emri i skedarit: "C:\Exhibition\Internet.bmp"

Madhësia e skedarit: 481078

Formati: "bmp"

FormatVersion: "Versioni 3 (Microsoft Windows 3.x)"

ose një imazh realcolor (RGB) i klasës uint8, komanda imwrite shkruan vlerat aktuale të grupit në një skedar. Nëse A është e klasës së dyfishtë, komanda imwrite anulon vlerat në grup përpara se të shkruani, duke përdorur konvertimin uint8(round(255*A)). Ky operacion konverton numrat me pikë lundruese në rangun në numra të plotë 8-bit në diapazonin . Vlerat e vlefshme për parametrin ftnt janë të njëjta me ato të përdorura në komandën imfinfo;

    imwrite(X,map,filename,fmt) - shkruan imazhin e indeksuar në grupin X dhe hartën e ngjyrave të tij përkatëse në emrin e skedarit. Nëse X përmban një imazh të klasës uint8, komanda imwrite shkruan vlerat aktuale të grupit në një skedar. Nëse X është i klasës së dyfishtë, komanda imwrite anulon vlerat në grup përpara se të shkruani, duke përdorur konvertimin uintS(X-l). Paleta tare duhet të jetë e klasës së dyfishtë; funksioni imwrite ripërcakton vlerat në tar duke përdorur konvertimin uint8 (round (255*hartë));

    imwrite(...emri i skedarit) - Shkruan një imazh në emrin e skedarit në formatin e specifikuar nga ekstensioni i skedarit. Shtesa mund të jetë një nga vlerat e lejuara për parametrin fmt;

    imwrite(....Parameter, Vlera...) përcakton parametrat që kontrollojnë vetitë e ndryshme të skedarit dalës. Parametrat përdoren për skedarët HDF, JPEG dhe TIFF;

    M = wklread(emri i skedarit) - lexon tabelën Lotusl23 (WK1) në matricën M;

    M = wklread(filename.r.c) - lexon të dhënat duke filluar nga qeliza e përcaktuar me (r,c). Parametrat r dhe c janë të bazuara në zero, kështu që r=0, c=0 përcaktojnë qelizën e parë në skedar;

    M = wklread(emri i skedarit,r,c,range) - lexon gamën e vlerave të specifikuara nga parametri i diapazonit, ku diapazoni mund të përfaqësohet në një nga format e mëposhtme:

    • një vektor me katër elementë që përcakton një sërë qelizash në formatin [rreshti_lartë. kolona_majtë, rreshti_poshtë, kolona_djathtas];

      një varg qelizash të përcaktuara nga një varg, si "A1...C5";

      emri i gamës, i përcaktuar si varg, si p.sh. "Shitjet".

    wklwrite(emri i skedarit.M) - shkruan vlerat e matricës M në emrin e skedarit të tabelës Lotus 123 WK1;

    wklwrite(emri i skedarit,M,r,c) Shkruan të dhëna duke filluar nga qeliza e specifikuar nga (r,c). Parametrat r dhe c janë të bazuara në zero, kështu që r=0, c=0 përcaktojnë qelizën e parë në tabelë.

Në tabelë. 19.7 tregon formatet e imazhit të disponueshëm për lexim nga funksioni imread. Listat e parametrave dhe vlerat e tyre të mundshme për funksionin imwrite gjenden në tabelë. 19.8.

Duhet të theksohet se shumica e funksioneve të diskutuara më sipër përdoren rrallë nga përdoruesit. Por ato përdoren mjaft gjerësisht për qëllime sistemike dhe janë me interes të madh për specialistët.

Tabela 19.7. Formatet e skedarëve dhe përshkrimi i shkurtër i tyre

Formati Opsione
PKM Imazhe të pakompresuara 1-bit, 4-bit, 8-bit dhe 24-bit; Imazhet 4-bit dhe 8-bit me kompresim RLE
HDF Bitmap 8-bit, me ose pa një gamë ngjyrash; Bitmap 24-bit
JPEG Çdo imazh JPEG; Imazhet JPEG me disa shtesa të përdorura zakonisht
PCX Imazhet 1-bit, 8-bit dhe 24-bit
TIFF Çdo imazh TIFF, duke përfshirë imazhe të pakompresuara !-bit, 8-bit dhe 24-bit; Imazhe packbit 1-bit, 8-bit dhe 24-bit; Imazhe 1-bit me kompresim CCITT
XWD Zpixmaps 1-bit dhe 8-bit; XYBitmaps; XYPixmaps 1-bit

Tabela 19.8. Opsionet e përdorura gjatë shkrimit të skedarëve grafikë

Parametri Kuptimi Vlera e paracaktuar
Opsione për skedarët HDF
"ngjeshje" Një nga vlerat e mëposhtme: "asnjë", Vie", "jpeg" "rle"
"Cilësi" Një numër midis 0 dhe 100; parametri mbështetet për "Compression"="jpeg"; sa më i madh të jetë numri, aq më i lartë është cilësia e skedarit (më pak shtrembërim i skedarit gjatë kompresimit) dhe aq më e madhe është madhësia e tij 75
"WriteMode" Një nga vlerat e mëposhtme: "overwrite", "append" "mbishkruaj"
Opsione për skedarët JPEG
"Cilësi" Një numër midis 0 dhe 100; sa më i madh të jetë numri, aq më i lartë është cilësia e skedarit (më pak shtrembërim gjatë ngjeshjes së skedarit) dhe aq më e madhe është madhësia e tij. 75
Opsione për skedarët TIFF
"ngjeshje" Një nga vlerat e mëposhtme: "asnjë", "packbits", "ccitt"; vlera "ccitt" është e vlefshme vetëm për imazhet binare (me dy ngjyra). "ccitt" për imazhe binare; "paketa" për të gjithë të tjerët
"Përshkrim" Çdo linjë; vlera e fushës ImageDescription kthehet me komandën imfinfo Linjë bosh
"Rezoluta" Vlera skalare për rezolucionin në drejtimet x dhe y
72

Çfarë të re kemi mësuar?

Në këtë mësim kemi mësuar:

    Hapni dhe mbyllni skedarët.

    Kryen operacione në skedarë binare dhe të formatuar.

    Kryeni pozicionimin e skedarëve.

    Aplikoni skedarë të personalizuar.

Shkaku më i zakonshëm i problemeve të zbulimit të skedarëve MATLAB është thjesht mungesa e aplikacioneve të përshtatshme të instaluara në kompjuterin tuaj. Në këtë rast, mjafton të gjeni, shkarkoni dhe instaloni një aplikacion që mbështet skedarët në formatin MATLAB - programe të tilla janë të disponueshme më poshtë.

Sistemi i kërkimit

Futni shtesën e skedarit

Ndihmë

të dhëna

Ju lutemi vini re se disa të dhëna të koduara nga skedarët që kompjuteri ynë nuk i lexon ndonjëherë mund të shikohen në Notepad. Në këtë mënyrë do të lexojmë fragmente teksti ose numrash - Vlen të kontrollohet nëse kjo metodë funksionon edhe në rastin e skedarëve MATLAB.

Çfarë duhet të bëni nëse aplikacioni nga lista është instaluar tashmë?

Shpesh një aplikacion i instaluar duhet të lidhet automatikisht me një skedar MATLAB. Nëse kjo nuk ndodh, atëherë skedari MATLAB mund të lidhet me sukses manualisht me aplikacionin e sapo instaluar. Mjafton të klikoni me të djathtën në skedarin MATLAB dhe më pas nga ato të disponueshme zgjidhni opsionin "Zgjidhni programin e paracaktuar". Më pas duhet të zgjidhni opsionin "Browse" dhe të gjeni aplikacionin tuaj të preferuar. Ndryshimet e bëra duhet të miratohen me opsionin "OK".

Programet që hapin një skedar MATLAB

Dritaret

Pse nuk mund të hap një skedar MATLAB?

Problemet me skedarët MATLAB mund të kenë edhe arsye të tjera. Ndonjëherë edhe instalimi i softuerit që mbështet skedarët MATLAB në kompjuterin tuaj nuk do ta zgjidhë problemin. Arsyeja e pamundësisë së hapjes, si dhe punës me skedarin MATLAB, mund të jetë gjithashtu:

Lidhje të paqëndrueshme të skedarëve MATLAB në regjistrimet e regjistrit
- prishje e skedarit MATLAB që hapim
- Infeksioni i skedarit MATLAB (viruse)
- burim kompjuterik shumë i vogël
- shoferë të vjetëruar
- heqja e shtesës MATLAB nga regjistri i sistemit Windows
- instalim jo i plotë i një programi që mbështet zgjerimin MATLAB

Rregullimi i këtyre problemeve duhet të rezultojë në hapjen dhe punën pa pagesë me skedarët MATLAB. Në rast se kompjuteri ka ende probleme me skedarin, duhet të kërkoni ndihmën e një eksperti që do të përcaktojë shkakun e saktë.

Kompjuteri im nuk shfaq shtesat e skedarëve, çfarë duhet të bëj?

Në cilësimet standarde të sistemit Windows, përdoruesi i kompjuterit nuk i sheh shtesat e skedarëve MATLAB. Kjo mund të ndryshohet me sukses në cilësimet. Thjesht shkoni te "Paneli i Kontrollit" dhe zgjidhni "Shiko dhe Personalizimi". Pastaj duhet të futni "Opsionet e dosjeve" dhe të hapni "Shiko". Në skedën "Shiko" ekziston një opsion "Fshih shtesat e llojeve të skedarëve të njohur" - duhet të zgjidhni këtë opsion dhe të konfirmoni funksionimin duke shtypur butonin "OK". Në këtë pikë, të gjitha shtesat e skedarëve, përfshirë MATLAB, duhet të shfaqen të renditura sipas emrit të skedarit.

Artikujt kryesorë të lidhur