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

Zgjatja e skedarit MATLAB. Skalarët, vektorët dhe matricat

Arsyeja më e zakonshme për problemet me hapjen e skedarit 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ë shërben skedarë në formatin MATLAB - programe të tilla janë të disponueshme më poshtë.

Sistemi i kërkimit

Futni shtesën e skedarit

Ndihmë

i shpejtë

Duhet të theksohet 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ë ne lexojmë pjesë të tekstit ose numrave - ia vlen të kontrolloni nëse kjo metodë funksionon edhe për skedarët MATLAB.

Po sikur një aplikacion nga lista të jetë instaluar tashmë?

Shpesh, një aplikacion i instaluar duhet të lidhet automatikisht me një skedar MATLAB. Nëse kjo nuk ndodhi, 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 të zgjidhni opsionin "Zgjidh programin e paracaktuar" midis atyre që janë në dispozicion. Më pas duhet të zgjidhni opsionin "Shiko" dhe të gjeni aplikacionin tuaj të preferuar. Ndryshimet e paraqitura duhet të konfirmohen me opsionin "OK".

Programet që hapin skedarin MATLAB

Dritaret

Pse nuk mund ta hap skedarin tim MATLAB?

Problemet me skedarët MATLAB mund të kenë gjithashtu një sfond të ndryshëm. Ndonjëherë edhe instalimi i softuerit që shërben skedarët MATLAB në kompjuter 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
- prishja e skedarit MATLAB që hapim
- Infeksioni i skedarit MATLAB (viruse)
- shumë pak burim kompjuterik
- shoferë të vjetëruar
- eliminimi i ekstensionit MATLAB nga regjistri i Windows
- instalimi jo i plotë i programit që shërben në shtesën MATLAB

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

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

Në instalimet standarde të Windows, një përdorues kompjuteri nuk e sheh shtesën e skedarit MATLAB. Kjo mund të ndryshohet me sukses në cilësimet. Mjafton të futeni në "Paneli i Kontrollit" dhe të zgjidhni "Pamja 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ë, shtesat e të gjithë skedarëve, përfshirë MATLAB, duhet të shfaqen të renditura sipas emrit të skedarit.

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 versionin e sigurt të instalimit 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 një skedar me shtesën MATLAB?
  • Si mund të konvertoj një skedar MATLAB në një format tjetër?
  • Cila është zgjerimi i formatit të skedarit MATLAB?
  • Cilat programe mbështesin skedarin MATLAB?

Nëse pas shikimit të materialeve 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 shkruani se çfarë informacioni nuk gjetët.

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

Mund të ketë më shumë arsye pse nuk mund të hapni një skedar MATLAB (jo vetëm mungesa e një aplikacioni përkatës).
Ne fillim- Skedari MATLAB mund të jetë i lidhur gabimisht (i papajtueshëm) me aplikacionin e instaluar për ta mirëmbajtur atë. Në këtë rast, ju duhet ta ndryshoni vetë këtë lidhje. Për këtë, klikoni me të djathtën në skedarin MATLAB që dëshironi të redaktoni, klikoni në 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. Më pas, zgjidhja më e mirë është të gjeni një version të ri, ose ta shkarkoni përsëri nga i njëjti burim si më parë (ndoshta për ndonjë arsye në seancën e mëparshme shkarkimi i skedarit MATLAB nuk ka përfunduar dhe nuk mund të hapet siç duhet).

Dëshironi të ndihmoni?

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

). 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 për shkak se MatLab është përpunim i fuqishëm dhe i gjithanshëm shumëdimensional i të dhënave. 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 shumë të tjera. MatLab është një gjuhë me burim të hapur të nivelit të lartë që 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 të MatLab, janë krijuar një numër i madh funksionesh dhe ToolBox (paketa mjetesh të specializuara). Më i popullarizuari është PLS ToolBox nga Eigenvector Research, Inc.

1. Informacion bazë

1.1. Ambient pune MatLab

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

Ambienti i punës MatLab 6.x paksa i ndryshëm nga mjedisi i punës i versioneve të mëparshme, ai ka një ndërfaqe më të përshtatshme për të hyrë në shumë elementë ndihmës

Ambienti i punës MatLab 6.x përmban elementët e mëposhtëm:

    një shirit veglash me butona dhe një listë rënëse;

    Dritarja me skeda Launch Pad dhe Hapësira e punës nga të cilat mund të aksesoni modulet e ndryshme të ToolBox dhe përmbajtjet e hapësirës së punës;

    dritare me skeda Historia e komandave dhe Drejtoria aktuale, i destinuar për shikimin dhe rikthimin e komandave të futura më parë, si dhe për vendosjen e drejtorisë aktuale;

    dritarja e komandës, e cila përmban prompt "dhe një kursor vertikal që vezullon;

    shiriti i statusit.

Nëse në një mjedis pune MatLab 6.x disa dritare të paraqitura në figurë mungojnë, më pas zgjidhni artikujt e duhur në menynë View: Dritarja e komandës, Historia e komandave, Drejtoria aktuale, Hapësira e punës, Hapësira e nisjes.

Komandat duhet të shtypen në dritaren e komandës. Ju nuk keni nevojë të shkruani "karakterin" për të treguar linjën e komandës. Për të parë zonën e punës, është e përshtatshme të përdorni shiritat e lëvizjes ose butonat Home, Fund për të lëvizur majtas ose djathtas dhe PageUp, PageDown për të lëvizur lart ose poshtë. Nëse papritmas, pasi të keni lëvizur në zonën e punës së dritares së komandës, linja e komandës me kursorin vezullues u zhduk, thjesht shtypni Enter.

Është e rëndësishme të mbani mend se grupi i çdo komande ose shprehjeje duhet të përfundojë duke shtypur Enter, në mënyrë që MatLab të ekzekutojë këtë komandë ose të llogarisë 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 MatLab? Së pari, ajo llogariti shumën 1 + 2, më pas shkruajti rezultatin në variablin special ans dhe printoi vlerën e tij, të barabartë me 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. Mund të shkruani shprehje të reja në vijën e komandës dhe të gjeni vlerat e tyre. Nëse duhet të vazhdoni të punoni me shprehjen e mëparshme, për shembull, llogaritni (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 thyesa dhjetore) dhe shtypni Hyni, doli qe

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

1.3. Echo komandat

Çdo ekzekutim i komandës në MatLab ka 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 në funksionin 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 Workspase As në menynë File. Shfaqet kutia e dialogut Save Workspase Variables, në të cilën duhet të specifikoni drejtorinë dhe emrin e skedarit. Si parazgjedhje, sugjerohet që skedari të ruhet 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ë seancën e mëparshme 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 komanda dhe rezultate të ekzekutueshme në një skedar teksti (të mbajë 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;

    kryen 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ë një redaktues teksti. 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 e ndihmës MatLab shfaqet pasi zgjidhni opsionin Help Window në menunë Help ose duke klikuar 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 seksione individuale, shkruani tema helpwin... Dritarja e ndihmës ju ofron të njëjtin informacion si komanda e ndihmës, por ndërfaqja me dritare ofron lidhje më të përshtatshme për temat e tjera të ndihmës. Duke përdorur adresën e faqes së internetit Math Works, mund të identifikoheni në serverin e firmës dhe të merrni informacionin më të fundit për pyetjet tuaja. Mund të njiheni me produktet e reja softuerike ose të gjeni një përgjigje për problemet tuaja në faqen e mbështetjes teknike.

2. Matricat

2.1. Skalarët, vektorët dhe matricat

Skalarët, vektorët dhe matricat mund të përdoren në MatLab. 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 shkronjave të mëdha dhe të vogla, kështu që 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 1 × 3, përdorni komandën e mëposhtme, në të cilën elementët e rreshtit ndahen me hapësira ose presje.

Kur futni një vektor kolone, ndani artikujt me një pikëpresje. Për shembull,

Është i përshtatshëm për të futur matrica me madhësi të vogël direkt nga linja e komandës. Ndërsa shkruani, një matricë mund të mendohet si një vektor kolone, secili element i së cilës është një vektor rreshti.

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

2.2. Aksesimi i elementeve

Elementet e matricës aksesohen duke përdorur dy indekse - numrat e rreshtave dhe kolonave, të mbyllur në kllapa, për shembull, komanda B (2,3) do të kthejë një element të 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, ne shkruajmë rreshtin e dytë të matricës A në vektorin z

Ju gjithashtu mund të nënvizoni blloqet e matricave 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ë shihni që hapësira e 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 në matricën e parë duhet të jetë i barabartë me numrin e rreshtave në matricën e dytë. Mbledhja dhe zbritja e matricave, si dhe numrave dhe vektorëve, kryhet duke përdorur shenjat plus dhe minus

dhe shumëzimi tregohet me një yll *. Prezantoni 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ë. Një matricë katrore ngrihet në një fuqi numër të plotë duke përdorur operatorin ^

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

2.4. Krijimi i matricave të veçanta

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ë të barabartë 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 renditur elementët në mënyrë diagonale.

2.5. Llogaritjet e matricës

MatLab përmban shumë funksione të ndryshme për të punuar me matrica. Kështu, për shembull, një matricë transpozohet duke përdorur një apostrof "

Matrica e anasjelltë gjendet 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. Për komunikimin ndërmjet MatLab dhe Excel, përcaktohen funksione të veçanta.

3.1. Konfigurimi i Excel

Përpara se të konfiguroni Excel për të punuar së bashku me MatLab, duhet të siguroheni që Excel Link është përfshirë në versionin e instaluar të MatLab. Skedari shtesë excllink.xla duhet të gjendet në nëndirektorinë exclink të drejtorisë kryesore të MatLab ose në nëndrejtorinë e kutisë së veglave. Nisni Excel dhe zgjidhni Shtesat nga menyja e Veglave. Do të hapet një kuti dialogu që përmban informacione rreth shtesave të disponueshme aktualisht. Përdorni butonin Browse për të specifikuar shtegun për në skedarin excllink.xla. Linja shfaqet në listën e shtesave në kutinë e dialogut 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ë shirit veglash Excel Link që përmban tre butona: putmatrix, getmatrix, evalstring. Këta butona zbatojnë veprimet kryesore 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. Kur Excel riniset, shtesa excllink.xla lidhet automatikisht.

Puna e koordinuar e Excel dhe MatLab kërkon disa cilësime të tjera, të cilat pranohen në Excel si parazgjedhje (por mund të ndryshohen). Në menunë Tools, 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 që të gjitha cilësimet e nevojshme janë bërë 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ë në përputhje me kërkesat e 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 që synon të përcaktojë emrin e ndryshores së mjedisit të punës MatLab, në të cilin duhet të eksportohen 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ë një variabël M është krijuar në mjedisin e prodhimit, që përmban një grup tre-nga-tre:

Kryeni disa operacione në MatLab me matricën M, për shembull, kthejeni atë në të kundërt.

Thirrni inv për të përmbysur matricën, si çdo komandë tjetër MatLab, mund ta kryeni direkt nga Excel. Shtypja e butonit evalstring, i 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 aktuale dhe klikoni butonin getmatrix. Shfaqet një kuti dialogu me një linjë hyrëse që ju kërkon të vendosni emrin e ndryshores që do të importohet në Excel. Në këtë rast, kjo ndryshore është IM. Klikoni OK, qelizat A5 deri në A7 janë të mbushura me elementë të matricës së kundërt.

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

Qasja e mësipërme është mënyra më e thjeshtë për të shkëmbyer informacion midis aplikacioneve - të dhënat origjinale 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 në shiritin e 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 të MatLab, përkatësisht. Importimi i vektorëve të rreshtave dhe vektorëve të kolonave në Excel funksionon në mënyrë të ngjashme.

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ën 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ë shkruani 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ë menduar për të punuar me skedarët M. Me ndihmën e tij, ju mund të krijoni funksionet tuaja dhe t'i telefononi ato, duke përfshirë nga dritarja e komandës.

Hapni 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, e cila është 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 funksionesh skedarësh ( 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

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

Komandat e skedarit të programit 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.

Një veçori shumë e përshtatshme e ofruar nga redaktori i skedarit M është ekzekutimi i një pjese të komandave. Mbyllni dritaren e grafikës Figura 1... Zgjidhni me miun duke mbajtur butonin e majtë, ose me tastet e shigjetave duke mbajtur të shtypur Zhvendosja, katër komandat e para dhe ekzekutojini ato nga artikulli Tekst. Ju lutemi vini re se vetëm një grafik shfaqet në dritaren grafike, që korrespondon me komandat e ekzekutuara:. Mos harroni se për të ekzekutuar disa nga komandat, zgjidhni ato dhe shtypni tastin F9.

Blloqet individuale të skedarit M mund të pajisen 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:

Një skedar ekzistues M hapet duke përdorur artikullin Open të menysë File të mjedisit të punës ose redaktuesin e skedarit M.

4.3. Funksioni i skedarit

Skedar-programi i mësipërm ë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ë kryejnë veprimet e nevojshme me argumente hyrëse dhe të ktheni rezultatin e veprimit në argumentet e daljes. Le të shohim disa shembuj të thjeshtë për t'ju ndihmuar të kuptoni se si të punoni me funksionet e skedarëve.

Përqendrimi përdoret shpesh në përpunimin paraprak të të dhënave të analizës së kimiometrisë me shumë variacione. Ka kuptim të shkruani një funksion skedari një herë, dhe më pas ta thërrisni atë kudo që është e nevojshme të përqendrohet. 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ë dalje është Xc. Pas titullit vijojnë komentet dhe më pas trupi i funksionit (në këtë shembull ai përbëhet nga dy rreshta), ku llogaritet vlera e tij. Është e rëndësishme që vlera e llogaritur të shkruhet në Xc. Sigurohuni që të përfshini një pikëpresje për të parandaluar shfaqjen e informacionit të panevojshëm në ekran. Tani ruani skedarin në drejtorinë tuaj të punës. Vini re se zgjedhja e "Ruaj" ose "Ruaj" si artikull në menynë "Skedari" sjell një kuti dialogu të ruajtjes së skedarit, fusha e emrit të skedarit tashmë përmban përqendrimin 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 sinoni i integruar, cos dhe të tjerët. Funksionet e veta mund të thirren nga një skedar programi dhe nga një funksion tjetër skedari. Mundohuni të shkruani vetë një funksion skedari që do të shkallëzojë matricat, d.m.th. ndani secilën kolonë me devijimin standard për atë kolonë.

Ju mund të shkruani një skedar funksioni me disa argumente 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ë në sekonda në orë, minuta dhe sekonda.

Kur thirrni funksione skedari me disa argumente dalëse, rezultati duhet të shkruhet në një vektor me gjatësinë përkatëse.

4.4 Krijimi i një orari

MatLab ka mundësi të shumta për grafikimin e vektorëve dhe matricave, si dhe për krijimin e komenteve dhe printimin e grafikëve. Le të përshkruajmë disa funksione të rëndësishme grafike.

Funksioni komplot ka forma të ndryshme të lidhura me parametrat hyrës, për shembull grafiku (y) krijon një grafik linear pjesë-pjesë të varësisë së elementeve y nga indekset e 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 nga 0 në 2π, bëni sa më poshtë

Programi ka ndërtuar një grafik varësie që shfaqet në dritare Figura 1

MatLab cakton automatikisht ngjyrën e vet për çdo grafik (përveç rasteve kur përdoruesi e bën atë), gjë që ju lejon të dalloni midis grupeve të të dhënave.

Komanda prit ju lejon të shtoni kthesa në një grafik ekzistues. Funksioni nënplot ju lejon të shfaqni grafikët e 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. Komanda shtypur siguron më shumë fleksibilitet në daljen e daljes dhe ju lejon të kontrolloni printimin nga skedarët M. Rezultati mund të dërgohet direkt në printerin e paracaktuar ose të ruhet në një skedar të caktuar.

5. Shembuj programesh

Ky seksion rendit algoritmet më të zakonshme të përdorura në analizën e të dhënave shumëdimensionale. Konsiderohen të dyja metodat më të thjeshta të transformimit të të dhënave, përqendrimit dhe shkallëzimit, si dhe algoritmet për analizën e të dhënave - PCA, PLS.

5.1. Përqendrimi dhe shkallëzimi

Analiza shpesh kërkon transformimin e të dhënave origjinale. 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. Ju lutemi vini re se matrica origjinale duhet të jetë në qendër

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

Metoda më e popullarizuar e ngjeshjes së të dhënave në analizën multivariate është analiza e komponentit kryesor (PCA). Matematikisht, PCA është një dekompozim i matricës origjinale X, d.m.th. paraqitjen e tij si produkt i dy matricave T dhe P

X = TP t + E

Matricë T quhet matrica e rezultateve, matrica quhet matrica e mbetur.

Mënyra më e thjeshtë për të gjetur matricat T dhe P- përdorni zbërthimin e SVD nëpërmjet 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 llogaritë dhe ngarkesat PCA, përdoret algoritmi i përsëritur NIPALS, i cili llogarit një komponent në çdo hap. Matrica fillestare së pari X transformohet (të paktën - në qendër; shih) dhe shndërrohet në matricë E 0 , a= 0. Pastaj 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ët, 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ë tutorial, autorët japin versionin e tyre. Kur llogaritni PCA, mund të futni numrin e komponentëve kryesorë (numri i ndryshueshëmPC). Nëse nuk e dini se sa komponentë nevojiten, duhet të shkruani = pcanipals (X) në vijën e komandës 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 e majta (numri PC)> 0
pc = numriPC (1);
elseif (gjatësia (numri PC) == 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

Si të llogarisni PCA duke përdorur shtesën Chemometrics mbulohet në tutorial

5.4 PLS1

Metoda më e popullarizuar për kalibrimin me shumë variacione është metoda e projeksionit latent (PLS). Në këtë metodë, matrica parashikuese zbërthehet në të njëjtën kohë 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ë konsistente - 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), mund të ndërtoni 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 ngarkesës 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 llogaritë dhe ngarkesat PLS1, përdoret një algoritëm i përsëritur. Matricat fillestare së pari 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ët, 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ë.
kri = 100;

% Komandat nga këtu në fund përsëriten deri në konvergjencë.
ndërsa (kri> 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 u-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 një shtesë KimiometriaShtoje ne të përshkruara në manualin Metodat e projektimit në sistemin Excel.

5.5 PLS2

Për PLS2, algoritmi është si më poshtë. Matricat fillestare së pari 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 vektorin 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 = Eat fq 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 = plsr (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 një shtesë KimiometriaShtoje ne të përshkruara në manualin Metodat e projektimit në sistemin Excel.

konkluzioni

MatLab është një mjet shumë i njohur për analizën e të dhënave. Sipas sondazhit, ai përdoret nga një e treta e të gjithë studiuesve, 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.

Mësimi numër 19.

Puna me skedarë

    Hapja dhe mbyllja e skedarëve

    Operacionet e skedarëve binare

    Operacionet e skedarëve të formatuar

    Pozicionimi i skedarit

    Skedarët e specializuar

Skedarët janë objekte mjaft të zakonshme në sistemin MATLAB. Disa nga llojet e skedarëve janë diskutuar tashmë në kapitujt e mëparshëm. Ky mësim mbulon vetitë e skedarit që janë të pavarura nga lloji i tyre dhe zbatohen për çdo skedar.

Hapja dhe mbyllja e skedarëve

Skedari zakonisht disa koleksione të dhënash, 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, ai 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ë. Le të shqyrtojmë 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ë ndryshore simbolike, hap skedarë në varësi të analizës së parametrit të emrit dhe shtrirjes 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 ka, një skedar m me të njëjtin emër;

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

Nëse skedarët me ekstension ekzistojnë në shtegun MATLAB, atëherë skedari që kthehet me komandën e cilit emër hapet, nëse jo, atëherë skedari nga sistemi i skedarëve. Nëse skedari nuk ka një zgjerim emri, atëherë ai hapet nga programi, formati i skedarit të të cilit do të ishte zbuluar nga funksioni igpsiGname ") Si parazgjedhje, për të gjithë skedarët me mbaresa të ndryshme nga ato të listuara më sipër, thirret openother. Hapni thirrjet funksionet orepxxx, ku xxx është zgjerimi i skedarit. Përjashtimet janë variablat e hapësirës së punës, për të cilat thirret openvar dhe grafika, për të cilën thirret openim. Duke krijuar skedarë t të quajtur orepxxx, përdoruesit mund të modifikojnë trajtimin e skedarëve dhe të shtojnë shtesa të reja në listë. Skedarët e hapur me open duhet të mbyllen nga redaktuesit e thirrur nga onxxx.

    Uigetfile (FILTERSPEC. Titulli). Hap një dialog me emrin Titulli dhe 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 drejt tij. Kthen FILENAME = 0 nëse skedari nuk ekziston ose nëse përdoruesi ka klikuar Cancel. = uigetfile (FILTERSPEC, Title. X. Y) vendos kutinë e dialogut në pikën X, Y (koordinatat në piksel).

Shembull:

Uigetfile ("*. M; *. Fig; *. Mat: *. Mdl". "Të gjithë skedarët e MATLAB (* .m, * .fig, * .mat. * .Mdl)": ...

    Uiputfile (FILTERSPEC. TITLE) e ruan skedarin në një dialog të kontrolluar nga përdoruesi. Parametrat janë të njëjtë si në funksion uigetfile.

    Komanda UI hap hap një dialog dhe nëse përdoruesi ka zgjedhur një skedar me një shtrirje të njohur, e thërret atë duke përdorur open, ose nëse emri i skedarit ka një shtrirje të panjohur, atëherë thirret uigetfile. Argumentet hyrëse në uiopen mund të jenë mat lab, load, figure, simullink, editor. Pa argumente hyrëse ose me një matlab të argumentit të hyrjes, 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 argumentin e ngarkesës - * .mat. Me argumentin e figurës ofrohen * .fig; simul ink - * .mdl, redaktori - * .m, * .mdt * .cdr, * .rtw, * .tmf, * .tlc, * .c, * .h, * .ads, * .adb.

Shembull:

figurë e hapur.

    Komanda uiload hap një skedar në një dialog të kontrolluar 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) - hap magjistarin e importit duke hapur FILENAME. Magjistari i importit tregon të dhënat për një 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ë magjistari i importit të njeh kufizuesit e kolonave. Më vete, mund të njohë vetëm një skedë, hapësirë, presje ose pikëpresje. Ju 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 dialogun e përzgjedhjes së 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ë vizatim ose model 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 në përputhje me komandën grafike të përshkruesit H në skedarin FILENAME. Formati i skedarit përcaktohet nga zgjerimi i emrit FILENAME.

    Funksioni saveas (H. "EMRI FILE". "FORMAT") - bën të njëjtën gjë, por me parametrin FORMAT (formati specifikohet në të njëjtën mënyrë si zgjerimi i emrit të skedarit dhe mund të ndryshojë nga ai). FORMAT ka përparësi ndaj shtesës së 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 skedarin në dosjen aktuale. Mund të përdoret *. Përdorimi i preferuar me një hyrje në formën e një funksioni fshirjeje ("skedar mw") kur emri i skedarit është një varg.

    delete (H) fshin një objekt grafik me përshkrues H. Nëse ky objekt është dritare, atëherë mbyllet paraprakisht.

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

Për të shkruar skedarë në disk, përdorni komandën ruaj, e cila përdoret në forma mjaft të dukshme:

kurseni

ruaj emrin e skedarit ruaj emrin e skedarit varl var2 ... ruaj ... opsionin 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ë pranuara në sistemet operative të klasës MS-DOS. Këto komanda zakonisht dublikohen nga butonat e shiritit të veglave dhe shfletuesi i skedarëve.

Operacionet e skedarëve binare

Binar, ose binare, quhen skedarë, të dhënat e të cilave janë kodet e makinës. Operacionet bazë me kode të tilla janë renditur më poshtë.

    fopen (emri i skedarit, leja) - hap një skedar me emrin e skedarit dhe parametrin e specifikuar në leje dhe kthen identifikuesin fid me vlerën: 0 - lexuar nga tastiera (leja është vendosur në "r"); 1 - prodhimi i ekranit (leja është vendosur në "a"); 2 - shfaqja e një mesazhi gabimi (leja është vendosur në "a"); -1 - dështimi për të hapur skedarin me daljen e mesazhit të mesazhit në lidhje me llojin e gabimit. Fid shpesh përdoret si argument nga funksione të tjera dhe programe I/O. Emri i skedarit të emrit të skedarit mund të përmbajë shtegun për në skedar.

Nëse skedari për t'u hapur 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 (shih sistemin e ndihmës për të tjerët):

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

    "r +" - skedar i hapur 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 një "b" në këtë rresht (parazgjedhja) i thotë sistemit të hapë skedarin në modalitetin binar.

Shtimi i "t" në vend të b në këtë rresht, për shembull "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 e MATLAB për Windows / MS-DOS dhe VMS, nuk mund të hapni një skedar teksti pa parametrin "rt". Kur futni skedarë duke përdorur fopen në modalitetin e tekstit, të gjitha baret kthehen përpara se të hiqet karakteri i linjës së re.

    Fopentfilename.permission, format) - Hap një skedar siç përshkruhet më sipër, duke kthyer një ID skedari dhe një mesazh. Për më tepër, vlera e parametrit të formatit ju lejon të përcaktoni me saktësi formatin e numrit. 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", "sgau" (kompjuterët VAX dhe Cray), e kështu me radhë.

Disa thirrje për fread ose fwrite mund të anashkalojnë formatin numerik të specifikuar në thirrjen për hapje.

    fids = fopen С all ") - kthen një varg vektori që përmban identifikuesit e të gjithë skedarëve të hapur, duke përjashtuar rrjedhat standarde О, 1 dhe 2. Numri i elementeve vektoriale është i barabartë me numrin e skedarëve të hapur nga përdoruesi;

    Fopen (fid) - Kthen emrin e plotë të skedarit, vargun .permission dhe vargun e formatit. Nëse përdoren vlera të pavlefshme fid, vargjet boshe kthehen për të gjitha argumentet e daljes.

Komanda fclose mbyll skedarin. Ka opsionet e mëposhtme.

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

    status = fclose ("të gjitha") mbyll të gjithë skedarët e hapur. Kthen 0 në sukses dhe -1 ndryshe.

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

"Fid = fopen (" c: \ ex "." A + ") fid = 4

»Fclose (4)

ans =

    Fread (fid, madhësia, saktësia) - lexon të dhënat binare nga skedari i dhënë dhe i vendos ato në matricën A. Numërimi i argumenteve të daljes përmban numrin e elementeve të lexuara me sukses. Vlera fid është një numër i plotë i kthyer nga funksioni fopen; madhësia është një argument që specifikon sasinë e të dhënave për të lexuar. Nëse madhësia nuk është e specifikuar, f read lexon të dhënat deri në fund të skedarit.

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

    n - lexoni n elemente në një vektor kolone;

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

Mbushja bëhet me 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ë përcakton saktësinë numerike të vlerave të leximit, ai kontrollon numrin e biteve të lexuara për secilën vlerë dhe i interpreton këto bit si një numër i plotë, pikë lëvizëse ose si 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 nxjerrni të dhëna në zona jo të afërta nga regjistrimet me gjatësi fikse. Nëse saktësia është në një format biti si "bitN 1 ose" ubitN ", përcaktohet vlera e kapërcimit ~ copa. Një listë e gjerë e vlerave të mundshme për saktësi mund të gjendet në sistemin e ndihmës MATLAB;

    count = fwrite (fid, A, saktësi) - shkruan elementet e matricës A në një skedar, duke i paraqitur ato me një saktësi të caktuar. Të dhënat shkruhen në skedarin kolonë për kolonë, dhe argumenti i daljes së numërimit përmban numrin e elementeve të shkruara me sukses. Vlera fid është një numër i plotë 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 skip 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ë një format bit si "bitN" ose "ubitN", vlera e kapërcimit specifikohet në bit.

Shembuj:

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

Fid =

»A = magji (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

»Numërimi = fwrite (j.A)

Numërimi =

»Statusi = fclose (3)

Statusi =

»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 e skedarëve 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 më shumë detaje mbi fid);

    Line = f merr (fid) - Kthen rreshtin nga skedari me identifikuesin fid pa hequr karakterin e fundit të rreshtit. Nëse fgets zbulon fundin e skedarit, ai kthen -1;

    Line = fgets (fid.nchar) - Kthen jo më shumë se nchar e karaktereve të para të rreshtit. Asnjë karakter shtesë nuk lexohet pas karakterit të fundit ose të fundit të skedarit (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 fid është një numër i plotë i kthyer nga funksioni fopen.

Nëse e hiqni identifikuesin fid në listën e argumenteve të funksionit fprintf, atëherë dalja do të printohet në ekran, ashtu si kur përdorni daljen standarde (fid = l).

    fprintf (format, A ....) - regjistrimi kryhet në një pajisje standarde - një ekran (por jo në një skedar). 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ë shkronja të rregullta të alfabetit së bashku me kualifikues, karaktere rreshtimi, etj.

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

Simboli

Përshkrim

\ n

Linja e re

\ t

Skeda horizontale

\ b

Backspace një karakter

\ r

Kthim ngarkese

\ f

Faqe e re

\\

Vija e prapme

\"ose "

Citim i vetëm

%%

Përqindje

Funksioni fprintf sillet si funksioni fprintf O ekuivalent ANSI C, me disa përjashtime dhe shtesa. Tabela 19.1 përshkruan karakteret speciale që shfaqen në vargun e formatit. Për të shfaqur të dhënat numerike ose të karaktereve në një varg formati, përdorni specifikuesit, të listuara në tabelë. 19.2.

Tabela 19.2. Specifikimi i formatit të daljes

Specifikimi

Përshkrim

% d Shënim dhjetor (i nënshkruar)
*me Personazh i vetëm

% e

Shënimi eksponencial i numrave duke përdorur "e" në pjesën e poshtme regjistrohuni, për shembull 3.1415e + 00

Shënimi eksponencial i numrave duke përdorur "E" në krye Regjistrohu, për shembull 3.1415Е + 00

% f

Sistemi i shënimeve me pikë fikse

% g

Më kompakte prej% e dhe% f. Zerat pasuese nuk shfaqen

% G

Njësoj si% d, por përdor shkronja të mëdha për "E"

%O

Shënim oktal (i panënshkruar)

% s

Varg karakteresh

% u

Shënim dhjetor (i panënshkruar)

% x


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

% X

Shënimi 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" (-)

Argumente të konvertuara me justifikim majtas

% -5.2d

Shenja plus (+)

Printoni gjithmonë një shenjë numerike (+ ose -)

% + 5,2 ditë

Zero (0)

Mbushje me zero në vend të hapësirave

% 05.2d

Numrat

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

% 6f

Shifrat (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 identifikuesin, fid, e konverton atë sipas vlerës së parametrit të formatit dhe e kthen atë si matricë A. Vlera e identifikuesit 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, madhësia) - Lexon sasinë e të dhënave të specifikuara nga parametri i madhësisë, e konverton atë sipas parametrit të formatit dhe kthen numërimin, së bashku me numrin e elementeve të lexuara me sukses. Parametri i madhësisë është një argument arbitrar që specifikon sasinë e të dhënave për t'u lexuar. Vlerat e mëposhtme janë të vlefshme:

    • inf - leximi i elementeve deri në fund të skedarit dhe vendosja e tyre 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 bëhet me kolona. Vlera n (por jo!) Mund të marrë vlerën Inf.

Vargu i formatit përbëhet nga karaktere dhe/ose specifikues të zakonshëm. Specifikuesit tregojnë llojin e të dhënave të lexuara 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. Formati i karaktereve të përdorura nga funksioni fscanf

Simboli

Përshkrim

Një sekuencë personazhesh; parametri i gjerësisë së fushës përcakton numrin e karaktereve të lexuara

% d

dhjetore

% e,% f,% g

Numri i pikës lundruese

% i

Numër i plotë i nënshkruar

% o

Numri oktal i nënshkruar

% s

Një sekuencë karakteresh pa hapësirë ​​të bardhë

% u

Numri i plotë dhjetor i nënshkruar

% x

Numër i plotë heksadecimal i nënshkruar

[...]

Sekuenca e personazheve

Midis simbolit % dhe karakteri i formatit lejohet të fusë 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 numrash përcakton gjerësinë maksimale të fushës;

    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 = fopent" 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)

Përgjigje =

3.142 0.000000

»Fgets (fid)

Përgjigje =

»Fclose (fid)

Përgjigje =

Pozicionimi i skedarit

Kur skedarët lexohen dhe shkruhen, ato përfaqësohen në mënyrë konvencionale si të dhëna lineare, si regjistrimi në një shirit magnetik të vazhdueshëm. Vendi nga i cili është leximi në këtë moment (ose pozicioni nga i cili shkon shkrimi) përcaktohet me një të veçantë tregues. Skedarët e aksesit të njëpasnjëshëm skanohen në mënyrë rigoroze nga fillimi në fund, dhe në skedarët me akses të rastësishëm, treguesi mund të vendoset kudo nga ku janë shkruar ose lexuar të dhënat e skedarit.

Kështu, treguesi siguron pozicionimin e skedarit. Një numër funksionesh pozicionimi janë në dispozicion:

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

    Message = ferror (fid) - Rikthen informacionin rreth gabimit si varg mesazhi. Argumenti fid është identifikuesi i skedarit të hapur (shih funksionin fopen për përshkrimin e tij të detajuar);

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

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

Nëse operacioni i fundit I/O i kryer në skedarin e specifikuar nga fid ishte i suksesshëm, mesazhi është një varg bosh dhe errnum është 0.

Një gabim jozero tregon se ka ndodhur një gabim në operacionin e 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: \ shembulll "." A + ")

Fid =

»T = fread (3,)

Matrica e zbrazët: 4 me 0

»Ferror (3)

Përgjigje =

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

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

    Statusi - fseekCfid, offset, origjina) - vendos treguesin në skedar me identifikuesin fid në pozicionin e specifikuar - në bajtin e specifikuar nga parametri i kompensimit në lidhje me origjinën.

Argumentet:

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

    kompensimi është një vlerë që interpretohet si më poshtë:

    • offset> 0 - ndryshon pozicionin e treguesit me bytes offset 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 është fillimi i skedarit;

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

      "eof" ose 1 - fundi i skedarit;

    statusi është një argument në dalje. Vlera është 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ë detaje;

    pozicion = ftel I (fid) - Rikthen pozicionin e treguesit për skedarin me 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 është -1. Përdorni funksionin ferror për të shfaqur natyrën e gabimit.

Shembuj:

»F id-fopen (" c: \ shembull "." A + ")

Fid =

"Count = fwrite (3, magjike (6))

Numri = 36

»FtelK3)

Përgjigje =

»Frewind (3): ftell (3)

Përgjigje =

"Fseek (3.12.0); ftell (3)

ans =

»Feof (3)

Përgjigje =

»Fmbylle (3)

Përgjigje =

    S = sprintf (format, A, ...) - formaton të dhënat në matricën A në formatin e specifikuar 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 një varg gabimi 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 së bashku me specifikuesit, karakteret e shtrirjes, e kështu me radhë.Funksioni fprintf sillet si funksioni analog ANSI C fprintf 0, me disa përjashtime dhe shtesa.

Shembuj:

"SprintfC" * 0,5 g ". (L + sqrt (7)) / 4)

ans =

0.91144

»SprintfC "% s","Hej")

ans =

Hej

Funksioni sscanf është i ngjashëm me funksionin fscanf, përveç që lexon të dhëna nga një ndryshore simbolike MATLAB dhe jo nga një skedar.

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

    A = sscanf (s, formati, 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 mëposhtme janë të vlefshme:

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

      inf - leximi i elementeve deri në fund të një ndryshoreje simbolike dhe vendosja e tyre në një vektor kolone që përmban të njëjtin numër elementesh si në një variabël vargu;

      Lexon aq elementë sa nevojiten për të mbushur matricën e madhësisë thp. Mbushja bëhet me kolona. Sasia 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 përndryshe. Nextindex është një argument dalës që përmban një numër një më shumë se numrin e karaktereve në s.

Vargu i formatit përbëhet nga karaktere dhe specifikues të zakonshëm. Specifikuesit tregojnë llojin e të dhënave dhe përfshijnë karakterin %, 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 i referohen disa skedarë të specializuar:

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

    M = dlmreadCfilename.delimiter, gs) - lexon të dhënat nga emri i skedarit me një ndarës 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 numërohen duke filluar nga zero, në mënyrë që r = 0, c = 0 t'i përgjigjet vlerës së 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 në formatin ASCII. Për të përdorur një varg qelizash, duhet të përcaktoni parametrin e diapazonit si varg = [TopString. Kolona e majtë. BottomRow, RightColumn].

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

    Kufizuesi është një karakter që ndan elementë individualë 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ë korrespondon me elementët në këndin e sipërm të majtë të tabelës;

    vargu është një vektor që përcakton gamën e qelizave në tabelë.

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

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

    dlmwrite (emri i skedarit, A, delimiter, r, c) - shkruan matricën A në emrin e skedarit, duke filluar nga vendi i specifikuar nga r dhe c, duke përdorur ndarësin;

    info = imfinfo (filename.fmt) - kthen një strukturë, fushat e së cilës përmbajnë informacion në lidhje me imazhin 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 imflnfo nuk mund të gjejë një skedar me emrin filename, ai kërkon një skedar me emrin filename.fmt.

Tabela 19.5 tregon vlerat e mundshme për argumentin fmt.

Tabela 19.5. Formatet grafike të mbështetura dhe emërtimet 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ë (d.m.th., me një strukturë individuale) për çdo imazh në skedar. Për shembull, informacioni (3) do të përmbajë informacion për imazhin e tretë në skedar. Shumë nga fushat në informacion varen nga skedari specifik dhe formati i tij. Megjithatë, nëntë fushat e para janë gjithmonë të njëjta. Tabela 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ë tregon 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 Ngjyrave 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 sipas përmbajtjes. Shembull:

»Info = irrifinfo (" С: \ ekspozitë \ Internet.bmр ")

Informacion =

Emri i skedarit: "C: \ Ekspozita \ Internet.bmr"

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ë shkruajë duke përdorur konvertimin uint8 (round (255 * A)). Ky operacion konverton numrat me pikë lundruese në një gamë në numra të plotë 8-bit në një interval. Vlerat e vlefshme për ftnt janë të njëjta si për komandën imfinfo;

    imwrite (X, harta, emri i skedarit, fmt) - shkruan imazhin e indeksuar të vendosur në grupin X dhe paletën përkatëse të ngjyrave tar në emrin e skedarit. Nëse X përmban një imazh uint8, komanda imwrite shkruan vlerat aktuale të grupit në një skedar. Nëse X është dyfish, komanda imwrite anulon vlerat në grup përpara se të shkruani duke përdorur konvertimin uintS (X-l). Paleta e katranit duhet të jetë e klasës së dyfishtë; Funksioni imwrite anulon vlerat tar duke përdorur konvertimin uint8 (round (255 * mar));

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

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

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

    М = wklread (emri i skedarit.r.c) - lexon të dhënat duke filluar nga qeliza e specifikuar nga vlerat (r, s). 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, diapazoni) - Lexon gamën e vlerave të specifikuara sipas diapazonit, ku diapazoni mund të jetë në një nga format e mëposhtme:

    • një vektor me katër elementë që përcakton një varg qelizash në formatin [larja_lartë. kolona_majtë, vija_fundore, kolona_djathtas];

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

      një emër vargu, i specifikuar si varg, si p.sh. "Sales".

    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 vlerat (r, s). Parametrat r dhe c janë të bazuara në zero, kështu që r = 0, c = 0 përcakton qelizën e parë në tabelë.

Tabela 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 përmbahen 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 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 Variantet
PKM Imazhe të pakompresuara 1-bit, 4-bit, 8-bit dhe 24-bit; Imazhe të ngjeshura RLE 4-bit dhe 8-bit
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 1-bit, 8-bit dhe 24-bit me kompresim pakbit; Imazhe 1-bit me kompresim CCITT
XWD Zpixmaps 1-bit dhe 8-bit; XYBitmaps; XYPixmaps 1-bit

Tabela 19.8. Parametrat e përdorur 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 skedarit. 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 varg; 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ë tutorial, mësuam:

    Hapni dhe mbyllni skedarët.

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

    Poziciononi skedarin.

    Aplikoni skedarë të specializuar.

Skedarët janë objekte mjaft të zakonshme në sistemin MATLAB. Disa nga llojet e skedarëve janë diskutuar tashmë në kapitujt e mëparshëm. Ky mësim mbulon vetitë e skedarit që janë të pavarura nga lloji i tyre dhe zbatohen për çdo skedar.

Skedari zakonisht disa koleksione të dhënash, 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, ai 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ë. Le të shqyrtojmë komandat për hapjen dhe mbylljen e skedarëve.

  • Komanda emër i hapur, ku emri duhet të përmbajë një grup karakteresh ose një ndryshore simbolike, hap skedarë në varësi të analizës së parametrit të emrit dhe zgjerimit në emrin e emrit:
    • e ndryshueshme- hap një grup të emërtuar me emër në Redaktuesin Array;
    • .mat- hap skedarin, ruan variablat në strukturë në zonën e punës;
    • .fik- e hap atë në Property Editor;
    • .m- hap skedarin m në editor-debugger;
    • .mdl- hap modelin në Simulink;
    • .R- hap, nëse ka, një skedar m me të njëjtin emër;
    • .html- hap një dokument HTML në shfletuesin e ndihmës.

Nëse skedarët me ekstension ekzistojnë në shtegun MATLAB, atëherë skedari që kthehet me komandën e cilit emër hapet, nëse jo, atëherë skedari nga sistemi i skedarëve. Nëse skedari nuk ka një zgjerim emri, atëherë ai hapet me programin, formati i skedarit të të cilit do të ishte zbuluar nga funksioni cili ("emri i skedarit"). Si parazgjedhje, openother thirret për të gjithë skedarët me mbaresa të ndryshme nga ato të listuara sipër. Open thërret funksionet orepxxx, ku xxx është zgjerimi i skedarit. Përjashtimet janë variablat e hapësirës së punës për të cilat thirret openvar dhe grafika për të cilën thirret openim. Duke krijuar skedarë t të quajtur orepxxx, përdoruesit mund të ndryshojnë trajtimin e skedarëve dhe të shtojnë shtesa të reja në listë. Skedarët e hapur me open duhet të mbyllen nga redaktuesit e thirrur nga onxxx.

  • = uigetfile (FILTERSPEC. Titulli)... Hap një dialog me emrin Titulli dhe 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 drejt tij. Kthen FILENAME = 0 nëse skedari nuk ekziston ose nëse përdoruesi ka klikuar Cancel. = uigetfile (FILTERSPEC, Title. X. Y) vendos kutinë e dialogut në pikën X, Y (koordinatat në piksel).

Uigetfile ("*. M; *. Fig; *. Mat: *. Mdl", "Të gjithë skedarët e MATLAB (* .m, * .fig, * .mat. * .Mdl)") ...

  • = uiputfile (FILTERSPEC. TITLE) e ruan skedarin në një dialog të kontrolluar nga përdoruesi. Parametrat janë të njëjtë si në funksionin uigetfile.
  • Komanda UI hapur hap një dialog dhe nëse përdoruesi ka zgjedhur një skedar me një shtrirje të njohur, e thërret atë duke përdorur open, ose nëse emri i skedarit ka një shtrirje të panjohur, atëherë thirret uigetfile. Argumentet hyrëse në uiopen mund të jenë mat lab, load, figure, simullink, editor. Pa argumente hyrëse ose me një matlab të argumentit të hyrjes, kutia e dialogut ju kërkon të zgjidhni * .m, * .fig, * .mat, * .mdl (nëse është instaluar Simulink), * .cdr (nëse është instaluar rrjedha e gjendjes), * .rtw, *. tmf, * .tlc, * .c, * .h, * .ads, * .adb (nëse është instaluar Workshop në kohë reale). Me argumentin e ngarkesës - * .mat. Me argumentin e figurës ofrohen * .fig; simul ink - * .mdl, redaktori - * .m, * .mdt * .cdr, * .rtw, * .tmf, * .tlc, * .c, * .h, * .ads, * .adb.

Figura e hapur

  • Komanda uiload hap një skedar në një dialog të kontrolluar nga përdoruesi duke përdorur komandën ngarkesës.

Funksioni import UI nis Magjistari i importit(Import Wizard), i cili importon nga një skedar në dosjen aktuale ose në kujtesën e Windows. Ajo përputhet me zgjedhjen Të dhënat e importit nga menyja Skedari ose zgjedhje Paste Speciale nga menyja Redakto MATLAB.

  • importi UI (FILENAME)- hap magjistarin e importit duke hapur FILENAME. Magjistari i importit tregon të dhënat për një 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ë magjistari i importit të njeh kufizuesit e kolonave. Më vete, mund të njohë vetëm një skedë, hapësirë, presje ose pikëpresje. Duhet të klikoni në butonin Tjetra dhe në dritaren tjetër ose konfirmoni zgjedhjen e ndarësit të bërë nga Wizard, ose zgjidhni Të tjera dhe futni çdo ndarës.
  • import UI ("-file")- së pari shfaq dialogun e përzgjedhjes së skedarit.
  • import UI ("-pastespecial")- së pari shfaq përmbajtjen e kujtesës së Windows për shikim paraprak.
  • S = import UI (...) ruan variablat që rezultojnë si fusha të strukturës S.
  • Komanda uisave- ruajtja e kontrolluar nga përdoruesi (komanda e ruajtjes përshkruhet në mësimin 2) me një dialog Windows.
  • Funksioni kursen- ruan një vizatim ose model Simulink në formatin e dëshiruar në një medium ruajtjeje ose në një pajisje të aktivizuar me printim.
  • Funksioni saveas (H, "FILENAME")- ruan të dhënat në përputhje me komandën e përshkruesit grafikë H në skedarin FILENAME. Formati i skedarit përcaktohet nga zgjerimi i emrit FILENAME.
  • Funksioni saveas (H. "EMRI FILE". "FORMAT")- kryen 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 shtesës së emrit të skedarit. Parametrat e funksionit:
    • "fik"- ruani figurën (grafin) në një skedar binar fig;
    • "m" ose "mfig"- ruani figurën në një skedar binar fig dhe krijoni një skedar m për ta ngarkuar atë;
    • "mmat"- ruani vizatimin në një skedar m si një sekuencë komandash për krijimin e vizatimeve. Mund të mos mbështesë veçoritë më të fundit grafike.

Saveas (gcf. "Output", "fig") saveas (gcf, "output", "bmp")

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

Artikujt kryesorë të lidhur