Kako podesiti pametne telefone i računare. Informativni portal

MATLAB ekstenzija datoteke. Skalari, vektori i matrice

većina zajednički uzrok Problem sa otkrivanjem MATLAB fajla je jednostavno nedostatak odgovarajućih aplikacija instaliranih na vašem računaru. U ovom slučaju, dovoljno je pronaći, preuzeti i instalirati aplikaciju koja podržava datoteke u MATLAB formatu - takvi programi su dostupni u nastavku.

Sistem pretraživanja

Unesite ekstenziju datoteke

Upomoć

prompt

Imajte na umu da se neki kodirani podaci iz datoteka koje naš računar ne čita ponekad mogu vidjeti u Notepadu. Na ovaj način ćemo čitati fragmente teksta ili brojeve - Vrijedi provjeriti da li ova metoda radi i u slučaju MATLAB datoteka.

Šta učiniti ako je aplikacija sa liste već instalirana?

Često se instalirana aplikacija treba automatski povezati sa MATLAB datotekom. Ako se to ne dogodi, MATLAB datoteka se može uspješno povezati ručno s novoinstaliranom aplikacijom. Dovoljno je kliknuti desnim tasterom miša na MATLAB datoteku, a zatim od dostupnih odabrati opciju "Izaberi zadani program". Zatim morate odabrati opciju "Pretraži" i pronaći svoju omiljenu aplikaciju. Učinjene promjene moraju biti odobrene opcijom "OK".

Programi koji otvaraju MATLAB fajl

Windows

Zašto ne mogu da otvorim MATLAB fajl?

Problemi sa MATLAB fajlovima mogu imati i druge osnove. Ponekad čak ni instaliranje softvera koji podržava MATLAB datoteke na vašem računalu neće riješiti problem. Razlog nemogućnosti otvaranja, kao i rada sa MATLAB fajlom, može biti i:

Nedosljedne veze MATLAB datoteka u unosima registra
- oštećenje MATLAB fajla koji otvaramo
- Infekcija MATLAB fajlova (virusi)
- premali računarski resurs
- zastareli drajveri
- uklanjanje MATLAB ekstenzije iz registra Windows sistemi
- nepotpuna instalacija programa koji podržava MATLAB ekstenziju

Rješavanje ovih problema bi trebalo rezultirati slobodnim otvaranjem i radom sa MATLAB datotekama. U slučaju da računar i dalje ima problema s datotekama, trebate potražiti pomoć stručnjaka koji će utvrditi tačan uzrok.

Moj računar ne prikazuje ekstenzije datoteka, šta da radim?

IN standardne postavke Na Windows sistemu, korisnik računara ne vidi ekstenzije datoteke MATLAB. Ovo se može uspješno promijeniti u postavkama. Samo idite na "Control Panel" i odaberite "View and Personalization". Zatim morate ući u "Opcije mape" i otvoriti "Prikaz". Na kartici "Prikaz" postoji opcija "Sakrij ekstenzije poznate vrste datoteke" - morate odabrati ovu opciju i potvrditi operaciju pritiskom na tipku "OK". U ovom trenutku, ekstenzije svih datoteka, uključujući MATLAB, treba da se pojave sortirane po imenu datoteke.

Nadamo se da smo vam pomogli da riješite problem sa MATLAB datotekom. Ako ne znate gdje možete preuzeti aplikaciju sa naše liste, kliknite na link (ovo je naziv programa) - naći ćete detaljnije informacije o mjestu odakle možete preuzeti sigurnu instalacionu verziju potrebne aplikacije .

Posjetite ovu stranicu trebalo bi vam pomoći da odgovorite na ova ili slična pitanja:

  • Kako otvoriti datoteku sa ekstenzijom MATLAB?
  • Kako pretvoriti MATLAB fajl u drugi format?
  • Šta je ekstenzija MATLAB formata datoteke?
  • Koji programi služe MATLAB fajlu?

Ako nakon pregleda materijala na ovoj stranici još uvijek niste dobili zadovoljavajući odgovor na bilo koje od gornjih pitanja, to znači da informacije u vezi sa MATLAB datotekom predstavljene ovdje nisu potpune. Kontaktirajte nas putem kontakt forme i javite nam koje informacije niste pronašli.

Šta još može uzrokovati probleme?

Može biti više razloga da ne možete otvoriti MATLAB datoteku (ne samo nedostatak odgovarajuće aplikacije).
Prvo- datoteka MATLAB može biti pogrešno povezana (nekompatibilna) s aplikacijom koja je instalirana da bi je podržala. U tom slučaju morate sami promijeniti ovu vezu. Da biste to uradili, kliknite desnim tasterom miša na MATLAB fajl koji želite da uredite, kliknite na opciju "Za otvaranje sa" a zatim sa liste izaberite program koji ste instalirali. Nakon toga, problemi s otvaranjem MATLAB datoteke bi trebali potpuno nestati.
Drugo- datoteka koju želite da otvorite može jednostavno biti oštećena. U ovom slučaju, najbolje rješenje je pronaći njegovu novu verziju, ili je ponovo preuzeti sa istog izvora (možda iz nekog razloga u prethodnoj sesiji preuzimanje MATLAB datoteke nije završeno i ne može se ispravno otvoriti).

Želite li pomoći?

Ako imate dodatne informacije o ekstenziji datoteke MATLAB, bit ćemo vam zahvalni ako ih podijelite sa korisnicima naše stranice. Iskoristite ponuđeni obrazac i pošaljite nam informacije o MATLAB fajlu.

). Među alatima opšte namene koji se koriste u hemometriji, MatLab paket zauzima posebno mesto. Njegova popularnost je neobično visoka. To je zato što je MatLab moćna i svestrana višedimenzionalna obrada podataka. Sama struktura paketa čini ga pogodnim alatom za izvođenje matričnih proračuna. Spektar problema, čija se studija može provesti sa MatLab pomoć, pokriva: matričnu analizu, obradu signala i slike, neuronske mreže i mnogi drugi. MatLab je jezik visoki nivo, koji ima otvoreni kod, koji omogućava iskusnim korisnicima da razumiju programirane algoritme. Jednostavan ugrađeni programski jezik olakšava kreiranje vlastitih algoritama. Za dugogodišnje korištenje MatLab kreiran velika količina funkcije i ToolBox (paketi specijalizovanih alata). Najpopularniji je PLS ToolBox kompanije Eigenvector Research, Inc.

1. Osnovne informacije

1.1. MatLab radno okruženje

Dvaput kliknite na ikonu da pokrenete program. Pred vama će se otvoriti radno okruženje prikazano na slici.

Radni prostor MatLab 6.x malo drugačiji od radnog prostora prethodnih verzija, ima praktičniji interfejs za pristup mnogim pomoćnim elementima

Radni prostor MatLab 6.x sadrži sljedeće stavke:

    traka sa alatkama sa dugmadima i padajućom listom;

    prozor sa karticama Launch Pad i Radni prostor, iz koje možete pristupiti različitim modulima ToolBox-a i sadržaju radnog stola;

    prozor sa karticama istorija komande I trenutni imenik, namenjen za pregled i pozivanje prethodno unetih komandi, kao i za podešavanje trenutnog direktorijuma;

    komandni prozor koji sadrži upit za unos » i trepćući vertikalni kursor;

    statusna linija.

Ukoliko radno okruženje MatLab 6.x nema prozora prikazanih na slici, tada bi trebalo da izaberete odgovarajuće stavke u meniju Prikaz: komandni prozor, Istorija naredbi, Trenutni direktorij, Radni prostor, Launch Pad.

Komande treba ukucati u komandni prozor. Simbol » , koji označava poziv za ulazak u komandnu liniju, nije potrebno kucati. Za pregled radni prostor zgodno je koristiti trake za pomeranje ili tastere Home , End , za pomeranje levo ili desno i PageUp , PageDown za kretanje gore ili dole. Ako iznenada, nakon pomicanja po radnom prostoru komandnog prozora, komandna linija sa trepćućim kursorom nestane, samo pritisnite Enter.

Važno je zapamtiti da skup bilo koje naredbe ili izraza mora završiti pritiskom na Enter kako bi MatLab program izvršio ovu naredbu ili procijenio izraz.

1.2. Najjednostavnije kalkulacije

Pozovite komandna linija 1+2 i pritisnite Enter. Kao rezultat, u MatLab komandnom prozoru se prikazuje sljedeće:

Rice. 2 Grafički prikaz analize glavnih komponenti

Šta je radio MatLab program? Prvo je izračunao zbir 1+2, zatim je rezultat zapisao u posebnu varijablu ans i ispisao njegovu vrijednost, 3, u komandni prozor. Ispod odgovora je komandna linija sa trepćućim kursorom, što ukazuje da je MatLab spreman za dalje proračune. Možete upisati nove izraze u komandnu liniju i pronaći njihove vrijednosti. Ako želite da nastavite da radite sa prethodnim izrazom, na primer, da izračunate (1+2)/4.5, onda je najlakši način da koristite već postojeći rezultat, koji je pohranjen u promenljivoj ans. Ukucajte ans/4.5 (tačka se koristi prilikom unosa decimala) i pritisnite Enter, ispostavilo se

Rice. 3 Grafički prikaz analize glavnih komponenti

1.3. Command echo

Izvršenje svake naredbe u MatLabu je praćeno ehoom. U gornjem primjeru, ovo je odgovor ans = 0,6667. Često eho otežava percepciju rada programa i tada se može isključiti. Da biste to učinili, naredba mora završiti tačkom i zarezom. Na primjer

Rice. Primjer unosa funkcije 4 ScoresPCA

1.4. Očuvanje radnog okruženja. MAT fajlovi

Najlakši način da sačuvate sve vrednosti varijabli je da koristite stavku Sačuvaj radni prostor kao u meniju Datoteka. Pojavljuje se okvir za dijalog Save Workspase Variables u kojem se od vas traži da navedete direktorij i ime datoteke. Prema zadanim postavkama, predlaže se spremanje datoteke u radni poddirektorij glavnog MatLab direktorija. Program će rezultate rada pohraniti u datoteku sa ekstenzijom mat. Sada možete zatvoriti MatLab. U sljedećoj sesiji, da biste vratili vrijednosti varijabli, otvorite ovu sačuvanu datoteku koristeći podstavku Otvori menija Datoteka. Sada su sve varijable definirane u posljednjoj sesiji ponovo dostupne. Mogu se koristiti u novounesenim naredbama.

1.5. Journal

MatLab ima sposobnost pisanja izvršne komande i rezultira u tekstualni fajl(vodi dnevnik rada), koji se zatim može pročitati ili odštampati iz uređivača teksta. Za početak evidentiranja koristite naredbu dnevnik. Kao argument komande dnevnik morate navesti ime datoteke u kojoj će se pohraniti dnevnik rada. Naredbe koje se dalje upisuju i rezultati njihovog izvršavanja biće upisani u ovu datoteku, na primjer, niz naredbi

obavlja sljedeće radnje:

    otvara dnevnik u datoteci exampl-1.txt ;

    vrši proračune;

    sprema sve varijable u MAT fajl work-1.mat ;

    čuva zapisnik u datoteci exampl-1.txt u radni poddirektorijum MatLab root direktorijuma i zatvara MatLab;

Pogledajte sadržaj exampl-1.txt datoteke u nekim uređivač teksta. Datoteka će sadržavati sljedeći tekst:

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

Sačuvaj rad-1
odustati

1.6. Sistem pomoći

MatLab Help prozor se pojavljuje nakon odabira opcije Help Window iz menija Help ili pritiskom na dugme za pitanje na traci sa alatkama. Ista operacija se može izvesti upisivanjem naredbe helpwin. Da biste prikazali prozor pomoći za pojedinačne teme, otkucajte helpwin tema. Prozor pomoći vam pruža iste informacije kao i naredba za pomoć, ali sučelje prozora pruža više zgodna komunikacija sa drugim temama pomoći. Koristeći adresu web stranice Math Works, možete otići na server Math Works i dobiti najnovije informacije o pitanjima koja vas zanimaju. Možete provjeriti nove softverske proizvode ili pronaći odgovore na svoje probleme na stranici tehničke podrške.

2. Matrice

2.1. Skalari, vektori i matrice

U MatLabu možete koristiti skalare, vektore i matrice. Da biste unijeli skalar, dovoljno je dodijeliti njegovu vrijednost nekoj varijabli, na primjer

Imajte na umu da MatLab razlikuje kapital i velika slova, pa su p i P različite varijable. Za unos nizova (vektora ili matrica), njihovi elementi se stavljaju u uglaste zagrade. Dakle, za unos vektora reda veličine 1x3 koristi se sljedeća naredba u kojoj su elementi reda odvojeni razmacima ili zarezima.

Prilikom unosa vektora stupca, elementi se odvajaju tačkom i zarezom. Na primjer,

Pogodno je unositi male matrice direktno iz komandne linije. Kada se unese, matrica se može posmatrati kao vektor kolone, čiji je svaki element vektor reda.

ili se matrica može tretirati kao vektor reda, čiji je svaki element vektor stupca.

2.2. Pristup elementima

Pristup elementima matrice se vrši pomoću dva indeksa - brojeva reda i stupaca, koji se nalaze u okrugle zagrade, na primjer, naredba B(2,3) će vratiti element drugog reda i treće kolone matrice B. Da biste odabrali kolonu ili red iz matrice, koristite broj stupca ili reda matrice kao jedan od indeksa, a drugi indeks zamijenite dvotočkom. Na primjer, upišimo drugi red matrice A u vektor z

Također možete odabrati blokove matrica koristeći dvotočku. Na primjer, izaberite iz matrice P blok označen bojom

Ako trebate vidjeti varijable radnog okruženja, u komandnoj liniji trebate upisati naredbu whos .

Vidi se da radno okruženje sadrži jedan skalar (p), četiri matrice (A, B, P, P1) i vektor reda (z).

2.3. Osnovne matrične operacije

Kada koristite matrične operacije, zapamtite da za sabiranje ili oduzimanje matrice moraju biti iste veličine, a kada se množe, broj stupaca prve matrice mora biti jednak broju redova druge matrice. Sabiranje i oduzimanje matrica, kao i brojeva i vektora, vrši se pomoću znakova plus i minus.

a množenje je označeno zvjezdicom *. Uvodimo matricu 3×2

Množenje matrice brojem se također vrši pomoću zvjezdice, a možete množiti brojem i desno i lijevo. erekcija kvadratna matrica na cjelobrojni stepen se vrši pomoću operatora ^

Provjerite rezultat množenjem matrice P sama po sebi.

2.4. Kreiranje matrica posebne vrste

Popunjavanje pravokutne matrice nulama vrši se ugrađenom funkcijom nule

Matrica identiteta se kreira pomoću funkcije oko

Matrica koja se sastoji od jedinica formira se kao rezultat pozivanja funkcije one

MatLab pruža mogućnost popunjavanja matrica slučajnim brojevima. Rezultat funkcije rand je matrica brojeva ravnomjerno raspoređenih između nule i jedan, i funkcija randn- matrica brojeva raspoređenih prema normalnom zakonu sa nultom srednjom i jediničnom varijansom.

Funkcija dijag formira dijagonalnu matricu od vektora, postavljajući elemente dijagonalno.

2.5. Matrični proračuni

MatLab sadrži mnogo različitih funkcija za rad sa matricama. Tako se, na primjer, transpozicija matrice vrši pomoću apostrofa "

Pronalaženje inverzne matrice vrši se pomoću funkcije inv za kvadratne matrice

3. Integracija MatLab-a i Excel-a

Integracija MatLab-a i Excel-a omogućava korisniku Excel-a pristup brojnim MatLab funkcijama za obradu podataka, različite proračune i vizualizaciju rezultata. Excllink.xla dodatak implementira dato produženje Excel funkcije. Za vezu između MatLab-a i Excel-a definirane su posebne funkcije.

3.1. Excel konfiguracija

Prije postavljanja Excela za rad sa MatLab-om, trebali biste se uvjeriti da je Excel Link uključen u instaliranu verziju MatLaba. Poddirektorij exclink glavnog MatLab direktorija ili poddirektorij kutije alata mora sadržavati datoteku dodatka excllink.xla. Pokrenite Excel i odaberite Dodaci iz izbornika Alati. Otvoriće se dijaloški okvir koji sadrži informacije o trenutno dostupnim dodacima. Koristeći dugme Pregledaj, odredite putanju do datoteke excllink.xla. Niz će se pojaviti na listi dodataka u dijaloškom okviru. Excel Link 2.0 za upotrebu sa MatLabom sa postavljenom zastavom. Kliknite na OK, potrebni dodatak je dodan u Excel.

Imajte na umu da Excel sada ima Excel Link traku sa alatkama koja sadrži tri dugmeta: putmatrix , getmatrix , evalstring . Ova dugmad implementiraju osnovne radnje potrebne za komunikaciju između Excel-a i MatLab-a - razmjenu matričnih podataka i izvršavanje MatLab komandi iz Excel okruženja. Kada ponovo pokrenete Excel, dodatak excllink.xla se automatski povezuje.

Dogovoreno Excel rad i MatLab zahteva još nekoliko postavki, koje su podrazumevane postavke programa Excel (ali se mogu promeniti). Iz menija Alati idite na Opcije, otvara se okvir za dijalog Opcije. Odaberite karticu Općenito i provjerite je li zastavica referentnog stila R1C1 isključena, tj. ćelije su označene brojevima A1, A2 itd. Na kartici Uređivanje mora biti postavljena zastavica Premjesti odabir nakon Enter.

3.2. Razmjena podataka između MatLab-a i Excel-a

Pokrenite Excel, provjerite da li je sve urađeno neophodna podešavanja kao što je opisano u prethodnom odeljku (MatLab mora biti zatvoren). Unesite matricu u ćelije A1 do C3, koristite tačku da odvojite decimale kako to zahtijeva Excel.

Odaberite podatke ćelije na radnom listu i pritisnite dugme putmatrix, pojaviće se Excel prozor uz upozorenje da MatLab ne radi. Kliknite OK, pričekajte da se MatLab otvori.

Pojavljuje se Excel dijaloški okvir sa linijom za unos za specificiranje naziva radne varijable. MatLab okruženja U koji želite da izvezete podatke iz odabranih Excel ćelija. Unesite, na primjer, M i zatvorite prozor tipkom OK. Prebaciti na komandni prozor MatLab i uvjerite se da je radni prostor kreirao varijablu M koja sadrži niz tri po tri:

Uradite neke operacije u MatLabu sa matricom M, na primjer, invertirajte je.

Zovi inv da se invertuje matrica, kao i svaka druga MatLab naredba, može se uraditi direktno iz Excel-a. Pritiskom na dugme evalstring koje se nalazi na panelu Excel Link dovodi se do pojave dijaloškog okvira u čiju ulaznu liniju treba upisati naredbu MatLab

IM=inv(M) .

Rezultat je sličan onome koji se dobije prilikom izvršavanja naredbe u MatLab okruženju.

Vratite se u Excel, učinite ćeliju A5 trenutnom ćelijom i kliknite na dugme getmatrix. Pojavljuje se dijaloški okvir sa redom za unos u koji treba da unesete naziv varijable koju želite uvesti u Excel. U ovom slučaju, varijabla je IM. Kliknite OK , elementi inverzne matrice se unose u ćelije A5 do A7.

Dakle, da biste izvezli matricu u MatLab, trebalo bi da izaberete odgovarajuće ćelije Excel lista, a da biste uvezli, samo treba da navedete jednu ćeliju, koja će biti gornji levi element uvezenog niza. Preostali elementi će biti upisani u ćelije lista u skladu sa veličinom niza, zamenjujući podatke sadržane u njima, tako da treba da budete oprezni kada uvozite nizove.

Gore navedeni pristup je najviše na jednostavan način razmjena informacija između aplikacija - početni podaci se nalaze u Excelu, zatim se izvoze u MatLab, tamo se na neki način obrađuju i rezultat se uvozi u Excel. Korisnik prenosi podatke koristeći dugmad na traci sa alatkama Excel Link. Informacije se mogu predstaviti u obliku matrice, tj. pravougaona površina radnog lista. Ćelije raspoređene u red ili kolonu se izvoze u vektore reda i kolone u MatLab-u, respektivno. Slično, dolazi do uvoza vektora redova i vektora stupaca u Excel.

4. Programiranje

4.1. M-fajlovi

Rad iz MatLab komandne linije je težak ako trebate unijeti mnogo naredbi i često ih mijenjati. Vođenje dnevnika sa komandom dnevnik i održavanje radnog okruženja malo olakšavaju posao. po najviše zgodan način izvršavanje grupa MatLab komandi je korištenje M-fajlova, u koji možete upisivati ​​naredbe, izvršavati ih sve odjednom ili u dijelovima, pohranjivati ​​ih u datoteku i koristiti ih kasnije. M-file editor je dizajniran za rad sa M-datotekama. Pomoću njega možete kreirati vlastite funkcije i pozivati ​​ih, uključujući i iz komandnog prozora.

Proširite meni Datoteka glavnog MatLab prozora i u Novoj stavci izaberite podstavku M-datoteka. Nova datoteka se otvara u M-file editor prozoru prikazanom na slici.

Postoje dvije vrste M-fajlova u MatLabu: program-file ( Script M-Files) koji sadrži niz naredbi i funkcijsku datoteku, ( Funkcija M-Files) koji opisuju korisnički definirane funkcije.

4.2. Program datoteka

Ukucajte komande u editoru koje dovode do izgradnje dva grafikona u jednom grafičkom prozoru

Sačuvajte datoteku sada pod imenom mydemo.m u radni poddirektorijum glavnog MatLab direktorijuma tako što ćete izabrati stavku Sačuvaj kao iz menija Datoteka urednika. Da biste pokrenuli sve komande sadržane u datoteci, izaberite stavku Pokreni iz menija Debug. Na ekranu će se pojaviti grafički prozor. Slika 1, koji sadrži grafove funkcija.

Komande programa datoteke izlaze u komandni prozor. Da biste potisnuli izlaz, završite naredbe tačkom i zarezom. Ako se napravi greška pri kucanju i MatLab ne može prepoznati komandu, tada se naredbe izvršavaju do pogrešno unesene, nakon čega se u komandnom prozoru prikazuje poruka o grešci.

Vrlo zgodna karakteristika koju pruža uređivač M-fajlova je izvršavanje dijela naredbi. Zatvorite grafički prozor Slika 1. Birajte mišem dok držite pritisnutu lijevu tipku ili tipkama sa strelicama dok držite pritisnutu tipku Shift, prve četiri komande i izvršite ih iz stavke Tekst. Imajte na umu da je u grafičkom prozoru prikazan samo jedan grafikon, koji odgovara izvršenim komandama. Zapamtite da da biste izvršili neke od naredbi, morate ih odabrati i pritisnuti tipku F9.

Odvojeni blokovi M-datoteke mogu biti opremljeni komentarima koji se preskaču tokom izvršavanja, ali su zgodni za rad sa M-datotekom. Komentari počinju sa znakom procenta i automatski su označeni zelenom bojom, na primjer:

Otvaranje postojeće M-datoteke vrši se pomoću stavke Otvori menija Datoteka radnog okruženja ili uređivača M-fajla.

4.3. funkcija datoteke

Datotečni program razmatran iznad je samo niz MatLab komandi, on nema ulazne i izlazne argumente. Da biste koristili numeričke metode i prilikom programiranja vlastitih aplikacija u MatLabu, morate biti u stanju sastaviti funkcije datoteka koje proizvode neophodne radnje sa ulaznim argumentima i vrati rezultat akcije u izlaznim argumentima. Pogledajmo nekoliko jednostavnih primjera da bismo razumjeli kako raditi s funkcijama datoteka.

Prilikom predobrade podataka multivarijantne analize, kemometrija često koristi centriranje. Ima smisla jednom napisati funkcijsku datoteku, a zatim je pozvati gdje god je potrebno centriranje. Otvorite novu datoteku u uređivaču M-datoteka i otkucajte

Riječ funkcija u prvom redu navodi da ova datoteka sadrži funkcijsku datoteku. Prvi red je zaglavlje funkcije, koje sadrži naziv funkcije i listu ulaznih i izlaznih argumenata. U primjeru, ime funkcije je centriranje, jedan ulazni argument je X, a jedan izlazni argument je Xc. Nakon zaglavlja slijede komentari, a zatim tijelo funkcije (u ovom primjeru sastoji se od dva reda), gdje se izračunava njena vrijednost. Važno je da se izračunata vrijednost upiše u Xc. Ne zaboravite da uključite tačku i zarez kako biste spriječili da se suvišne informacije prikazuju na ekranu. Sada spremite datoteku u svoj radni direktorij. Imajte na umu da odabir Sačuvaj ili Sačuvaj kao iz menija Datoteka otvara dijaloški okvir za spremanje datoteke, čije polje Ime datoteke već sadrži centrirano ime. Nemojte ga mijenjati, sačuvajte funkcijsku datoteku u datoteku s predloženim imenom!

Sada se kreirana funkcija može koristiti na isti način kao i ugrađene sin , cos i druge. Poziv vlastitih funkcija može se izvršiti iz fajl-programa i iz druge fajl-funkcije. Pokušajte sami napisati funkcijski fajl koji će skalirati matrice, tj. podijelite svaki stupac sa standardnom devijacijom za tu kolonu.

Moguće je napisati funkcijsku datoteku s višestrukim ulaznim argumentima, koji se nalaze u listi razdvojenoj zarezima. Također možete kreirati funkcije koje vraćaju više vrijednosti. Da biste to učinili, izlazni argumenti se dodaju, odvojeni zarezima, na listu izlaznih argumenata, a sama lista je zatvorena u uglastim zagradama. dobar primjer je funkcija koja pretvara vrijeme dato u sekundama u sate, minute i sekunde.

Kada se pozivaju funkcije datoteke s više izlaznih argumenata, rezultat bi trebao biti zapisan u vektor odgovarajuće dužine.

4.4 Kreiranje grafikona

MatLab ima široke mogućnosti za grafička slika vektora i matrica, kao i za kreiranje komentara i štampanje grafova. Hajde da opišemo nekoliko važnih grafičkih funkcija.

Funkcija plot ima različite oblike pridružene ulaznim parametrima, na primjer plot(y) proizvodi grafiku y elemenata u odnosu na njihove indekse. Ako su dva vektora data kao argumenti, tada će plot(x,y) prikazati y u odnosu na x. Na primjer, za iscrtavanje funkcije sin u rasponu od 0 do 2π, učinit ćemo sljedeće

Program je napravio graf zavisnosti koji se prikazuje u prozoru Slika 1

MatLab automatski dodjeljuje različitu boju svakom grafikonu (osim kada to radi korisnik), što omogućava razlikovanje skupova podataka.

Zapovjedi Čekaj omogućava vam da dodate krive postojećem grafikonu. Funkcija podzaplet omogućava vam da prikažete više grafikona u jednom prozoru

4.5 Štampanje grafikona

Stavka Štampanje u meniju Datoteka i naredba print print MatLab grafike. Meni Štampanje otvara dijaloški okvir koji vam omogućava da izaberete uobičajene standardne opcije štampanja. Zapovjedi print pruža veću fleksibilnost u izlazu podataka i omogućava vam da kontrolišete štampanje iz M-fajlova. Rezultat se može poslati direktno na podrazumevani štampač ili sačuvati u unapred definisanom fajlu.

5. Primjeri programa

Ovaj odjeljak navodi najčešće algoritme koji se koriste u analizi multivarijantnih podataka. Razmatraju se kako najjednostavnije metode transformacije podataka - centriranje i skaliranje, tako i algoritmi za analizu podataka - PCA, PLS.

5.1. Centriranje i skaliranje

Često analiza zahtijeva transformaciju izvornih podataka. Najčešće korištene metode transformacije podataka su centriranje i skaliranje svake varijable prema standardnoj devijaciji. U funkcijskom kodu za centriranje je data matrica. Stoga je ispod prikazan samo kod funkcije, koji vage podaci. Imajte na umu da originalna matrica mora biti centrirana

funkcija Xs = skaliranje(X)
% skaliranja: izlazna matrica je Xs
% matrica X mora biti centrirana

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

%kraj skaliranja

5.2. SVD/PCA

Najpopularniji način kompresije podataka u multivarijantnoj analizi je analiza glavnih komponenti (PCA). Sa matematičke tačke gledišta, PCA je dekompozicija originalne matrice X, tj. predstavljajući ga kao proizvod dvije matrice T I P

X = TP t+ E

Matrica T naziva se matrica rezultata (skora), matrica je ​​matrica reziduala.

Najjednostavniji način za pronalaženje matrica T I P- koristiti SVD dekompoziciju kroz standard MatLab funkcija pozvao svd .

funkcija = pcasvd(X)

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

%kraj pcasvd

5.3 PCA/NIPALS

Za izradu PCA rezultata i opterećenja koristi se NIPALS rekurzivni algoritam, koji izračunava jednu komponentu u svakom koraku. Prvo originalna matrica X transformira se (barem - centriran; vidi) i pretvara se u matricu E 0 , a=0. Zatim se primjenjuje sljedeći algoritam.

t 2. str t = t t Ea / t t t 3. str = str / (str t str) ½ 4. t = Ea str / str t str 5. Provjerite konvergenciju, ako ne, idite na 2

Nakon izračunavanja sljedećeg ( a th) komponente, pretpostavljamo ta=t I stra=str E a+1 = Eat str a na a+1.

Šifru NIPALS algoritma mogu napisati sami čitaoci, au ovom priručniku autori predstavljaju svoju verziju. Prilikom izračunavanja PCA, možete unijeti broj glavnih komponenti (broj varijablePC). Ako se ne zna koliko komponenti je potrebno, u komandnoj liniji treba napisati = pcanipals (X) i tada će program postaviti broj komponenti jednak najmanjoj od dimenzija originalne matrice X.

funkcija = pcanipals(X, brojPC)

% obračun broja komponenti
= veličina(X); P=; T=;

Ako je dužina (broj PC) > 0
pc = brojPC(1);
elseif (dužina(brojPC) == 0) & X_r< X_c
pc = X_r;
ostalo
pc = X_c;
kraj;

za k = 1:kom
P1 = rand(X_c, 1); T1=X*P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1))"; P1 = P1/norma(P1); T1 = X * P1; d = T1" * T1;

Dok je d - d0 > 0,0001;
P1 = (T1" * X/(T1" * T1)); P1 = P1/norma(P1); T1=X*P1; d0 = T1"*T1;
P1 = (T1" * X/(T1" * T1)); P1 = P1/norma(P1); T1=X*P1; d = T1"*T1;
kraj

X = X - T1 * P1; P = kat(1, P, P1"); T = ;
kraj

Naučite kako izračunati PCA s dodatkom Chemometrics u vodiču

5.4PLS1

Najpopularnija metoda za multivarijantnu kalibraciju je metoda projekcije na latentne strukture (PLS). Ova metoda vrši simultanu dekompoziciju prediktorske matrice X i matrice odgovora Y:

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

Projekcija je konstruisana na konzistentan način, kako bi se maksimizirala korelacija između odgovarajućih vektora X-računi ta I Y-računi ua. Ako blok podataka Y uključuje više odgovora (tj. K>1), moguće je konstruisati dvije projekcije početnih podataka – PLS1 i PLS2. U prvom slučaju, za svaki od odgovora y k konstruiše se sopstveni projekcijski podprostor. Istovremeno, računi T (U) i opterećenja P (W, Q) zavisi od toga koji se odgovor koristi. Ovaj pristup se naziva PLS1. Za metodu PLS2 izgrađen je samo jedan prostor za projekciju, koji je zajednički za sve odgovore.

Detaljan opis PLS metode je dat u ovoj knjizi Za konstruisanje PLS1 rezultata i opterećenja koristi se rekurzivni algoritam. Prvo originalne matrice X I Y centar

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

i pretvaraju se u matricu E 0 i vektor f 0 , a=0. Zatim se na njih primjenjuje sljedeći algoritam

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. str t = t t Ea / t t t

Nakon izračunavanja sljedećeg ( a th) komponente, pretpostavljamo ta=t I stra=str. Da biste dobili sljedeću komponentu, morate izračunati ostatke E a+1 = Eat str t i primijeniti isti algoritam na njih, zamjenjujući indeks a na a+1.

Evo koda za ovaj algoritam, preuzetog iz knjige

funkcija = pls(x, y)
%PLS: izračunava PLS komponentu.
%Izlazni vektori su w, t, u, q i p.
%
% Odaberite vektor iz y kao početni vektor u.

u = y(:, 1);

% Kriterijum konvergencije je postavljen veoma visoko.
cri = 100;

% Naredbe odavde do kraja se ponavljaju do konvergencije.
dok (cri > 1e - 10)

% Svaki početni vektor u se čuva kao ustar.
uold = u; w = (u" * x)"; w = w/norm(w);
t = x*w; q = (t" * y)"/(t" * t);
u = y * q/(q" * q);

% Kriterij konvergencije je norma uold podijeljena normom u.
kri = norma(uold - u)/norma(u);
kraj;

% Nakon konvergencije, izračunajte p.
p = (t" * x)"/(t" * t);

% Kraj pls

O izračunavanju PLS1 s dodatkom HemometrijaDodati opisano u priručniku Metode projekcije u Excelu.

5.5PLS2

Za PLS2, algoritam je sljedeći. Prvo originalne matrice X I Y transformiraju (barem - centar; vidi), i pretvaraju se u matrice E 0 i F 0 , a=0. Zatim se na njih primjenjuje sljedeći algoritam.

1. Odaberite početni vektor 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. Provjerite konvergenciju, ako ne, idite na 2 8. str t = t t Ea / t t t

Nakon izračunavanja sljedećeg ( a th) PLS2 komponente moraju biti postavljene: ta=t, stra=p,wa=w, ua=u I q a = q. Da biste dobili sljedeću komponentu, morate izračunati ostatke E a+1 = Eatp t and Fa +1 = F atq t i primijeniti isti algoritam na njih, zamjenjujući indeks a na a+1.

Evo koda, koji je također pozajmljen iz knjige.

funkcija = pls(x, y, a)
% PLS: izračunava PLS komponentu.
% Izlazne matrice su W, T, U, Q i P.
% B sadrži koeficijente regresije i SS sume
% kvadrata za ostatke.
% a je broj komponenti.
%
% Za komponente: koristite sve naredbe za kraj.

Za i=1:a
% Izračunajte zbir kvadrata. Koristite funkciju ss.
sx = ;
sy = ;

% Koristite funkciju pls za izračunavanje jedne komponente.
= pls(x, y);

% Izračunajte ostatke.
x = x - t * p";
y = y - t * q";

% Sačuvajte vektore u matricama.
W = ;
T = ;
U = ;
Q = ;
P = ;
kraj;

% Izračunajte koeficijente regresije nakon petlje.
B=W*inv(P"*W)*Q";

% Dodajte konačni preostali SS zbroju vektora kvadrata.
sx=;
sy=;

% Napravite matricu ss vektora za X i Y.
SS = ;

% Izračunajte udio korištenog SS.
= veličina (SS);
tt = (SS * dijag(SS(1,:).^(-1)) - one(a, b)) * (-1)

%Kraj plsr

funkcija = ss(x)
%SS: izračunava zbir kvadrata matrice X.
%

ss=suma(suma(x. * x));
%kraj ss

O izračunavanju PLS2 s dodatkom HemometrijaDodati opisano u priručniku Metode projekcije u Excelu.

Zaključak

MatLab je vrlo popularan alat za analizu podataka. Prema istraživanju, koristi ga do trećina svih istraživača, dok program Unsrambler koristi samo 16% naučnika. Glavni nedostatak MatLaba je njegov visoka cijena. Osim toga, MatLab je dobar za rutinske proračune. Nedostatak interaktivnosti čini ga nezgodnim prilikom izvođenja pretraživanja, istraživačkih proračuna za nove, neistražene nizove podataka.

Lekcija broj 19.

Rad sa fajlovima

    Otvaranje i zatvaranje fajlova

    Operacije sa binarne datoteke

    Operacije na formatiranim datotekama

    Pozicioniranje fajla

    Specijalizovani fajlovi

Fajlovi su prilično uobičajeni objekti u MATLAB sistemu. Neki tipovi datoteka su već razmatrani u prethodnim poglavljima. Ova lekcija se bavi svojstvima datoteka koje ne zavise od njihovog tipa i koje se odnose na bilo koje datoteke.

Otvaranje i zatvaranje fajlova

File obično je neka zbirka podataka objedinjena jednim imenom. Tip datoteke obično je određen njegovom ekstenzijom. Mi smatramo datoteku kao cjelinu, iako fizički na disku može biti predstavljena s nekoliko područja - kažu da je u ovom slučaju datoteka fragmentirana.

Prije upotrebe bilo koje datoteke, ona mora biti otvoren, i na kraju upotrebe - zatvoreno. Mnoge datoteke se mogu otvoriti i čitati u isto vrijeme. Razmotrite komande za otvaranje i zatvaranje datoteka.

    Naredba open name, gdje ime mora sadržavati niz znakova ili karakternu varijablu, otvara datoteke ovisno o raščlanjivanju imena parametra i ekstenzija u imenu imena:

    • varijabla - otvara niz po imenu u uređivaču niza;

      Mat - otvara fajl, sprema varijable u strukturu u radnom prostoru;

      Fig - otvara ga u uređivaču svojstava;

      M - otvara m-datoteku u editoru-debageru;

      Mdl - otvara model u Simulink-u;

      R - otvara, ako postoji, m-datoteku sa istim imenom;

      Html - otvara HTML dokument u pretraživaču pomoći.

Ako fajlovi sa ekstenzijom postoje na MATLAB putanji, onda je datoteka vraćena naredbom čije ime se otvara, ako ne, onda datoteka iz sistem podataka. Ako datoteka nema ekstenziju imena, onda je otvara program čiji format datoteke bi detektovala funkcija igpsIGfilename") Prema zadanim postavkama, za sve datoteke sa završetcima koji nisu gore navedeni, poziva se openother. Open poziva funkcije openxx, gdje je xxx ekstenzija datoteke.Izuzeci su varijable radnog prostora na kojima se poziva openvar i slike na kojima se poziva openim. nove ekstenzije na listi. Zatvorite fajlove otvorene sa otvori pomoć, potrebno od uredništva koje zove orenxxx.

    Uigetfile(FILTERSPEC.Title). Otvara dijalog pod nazivom Naslov sa filterom FILTERSPEC (na primjer, niz ćelija koji sadrži ekstenzije datoteke) i vraća datoteku koju je odabrao korisnik i njenu putanju. Vraća FILENAME=0 ako datoteka ne postoji ili ako je korisnik kliknuo na Otkaži. = uigetfile(FILTERSPEC, Naslov. X. Y) postavlja dijaloški okvir na X, Y (koordinate piksela).

primjer:

Uigetfile("*.m;*.fig;*.mat:*.mdl". "Sve MATLAB datoteke (*.m, *.fig, *.mat. *.mdl)": ...

    Uiputfile(FILTERSPEC.TITLE) sprema datoteku u dijalogu koji vodi korisnik. Parametri su slični onima u funkciji uigetfile.

    Ui open naredba otvara dijalog, a ako je korisnik odabrao datoteku sa poznato proširenje, poziva ga koristeći open, ili ako ime datoteke ima nepoznatu ekstenziju, tada se poziva uigetfile. uiopen ulazni argumenti mogu biti mat lab, load, figure, simulink, editor. Bez ulaznih argumenata ili sa matlab ulaznim argumentom, dijaloški okvir od vas traži da odaberete *.m, *.fig, *.mat,*.mdl (ako je instaliran Simulink) , * . cdr (ako je tok stanja postavljen), *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb (ako je instalirana Real-Time Workshop). Sa opterećenjem argumenta - *.mat. Sa argumentom figure, *.fig; simul ink - *.mdl, editor - *.m, *.mdt *.cdr, *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb.

primjer:

uiopen figure.

    Komanda uiload otvara datoteku u dijalogu koji vodi korisnik pomoću naredbe load.

Funkcija uvoza korisničkog interfejsa pokreće čarobnjaka za uvoz, uvozeći iz datoteke u trenutnoj fascikli ili međuspremniku Windows razmjena. To odgovara odabiru Import Data iz menija File ili odabiru Paste Special iz MATLAB Edit menija.

    Ui import (FILENAME) - Pokreće čarobnjak za uvoz otvaranjem datoteke FILENAME. Čarobnjak za uvoz prikazuje podatke za pregled. Podaci i njihova reprezentacija kao MATLAB varijable pojavljuju se u prozoru za pregled. Stvarni podaci, tekst i naslovi izgledaju drugačije MATLAB varijable. Za ASCII podatke, morate osigurati da čarobnjak za uvoz prepoznaje separatore stupaca. Sam po sebi, može prepoznati samo tabulator, razmak, zarez ili tačku i zarez. Potrebno je da kliknete na dugme Dalje iu sledećem prozoru ili potvrdite izbor separatora koji je napravio čarobnjak, ili izaberite Ostalo i unesite bilo koji separator.

    ui import ("-f i le") - prvo prikazuje dijalog za odabir datoteke.

    ui import ("-pastespecial") - prvo prikazuje sadržaj Windows međuspremnika za pregled.

    S = ui import (...) pohranjuje rezultirajuće varijable kao polja strukture S.

    Naredba uisave je spremanje koje kontrolira korisnik (naredba spremanja je opisana u lekciji 2) sa Windows dijalogom.

    Funkcija saveas pohranjuje crtež ili Simulink model u željenom formatu na mediju za pohranu ili na uređaju s omogućenom ispisom.

    Funkcija saveas(H, "FILENAME") sprema podatke prema grafičkoj komandi H deskriptora u datoteci FILENAME. Format datoteke je određen ekstenzijom naziva FILENAME.

    Funkcija saveas (H. "FILENAME" . "FORMAT") radi isto, ali sa parametrom FORMAT (format je specificiran na isti način kao ekstenzija naziva datoteke i može se razlikovati od njega). FORMAT ima prednost nad ekstenzijom naziva datoteke. Parametri funkcije:

primjeri:

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

Naredba ili funkcija brisanja briše grafičku datoteku ili objekt.

    Delete filename briše datoteku u trenutnoj fascikli. Može biti korišteno *. Poželjno se koristi sa unosom u obliku funkcije delete("mw of file") kada je ime datoteke niz.

    delete(H) briše grafički objekat sa ručkom H. Ako je ovaj objekt prozor, onda je preliminarno zatvoren.

    Close(H) funkcija zatvara samo grafičke prozore. Morate koristiti naredbu f close da zatvorite datoteke.

Za pisanje datoteka na disk, naredba za spremanje se koristi u prilično očiglednom obliku:

spasiti

save filename save filename varl var2 ... save ... opcija save(" filename" , ...)

U skladu s tim, naredba load se koristi za čitanje datoteka s diska:

opterećenje

učitavanje ime datoteke učitavanje ime datoteke X Y Z

učitavanje ime datoteke -ascii učitavanje ime datoteke -mat

U ovim naredbama, naziv datoteke je specificiran prema pravilima usvojenim u operativni sistemi MS-DOS klasa. Ove komande se obično dupliraju pomoću dugmadi na traci sa alatkama i pretraživača datoteka.

Operacije nad binarnim datotekama

Binarno ili binarni, fajlove imena čiji su podaci mašinski kodovi. Glavne operacije s takvim kodovima navedene su u nastavku.

    fopen(filename, permission) - otvara datoteku sa imenom filename i parametrom definisanim u dozvoli, i vraća fid sa vrednošću: 0 - čita se sa tastature (dozvola je postavljena na "r"); 1 - izlaz na displej (dozvoljenje je postavljeno na "a"); 2 - izlaz poruke o grešci (dozvoljenje je postavljeno na "a"); -1 - neuspjeh otvaranja datoteke sa izlazom poruka o vrsti greške. Fid identifikator se često koristi kao argument od strane drugih I/O funkcija i programa. Ime datoteke ime datoteke može sadržavati putanju do datoteke.

Ako datoteka koja se otvara za čitanje nije pronađena u trenutnom direktoriju, funkcija fopen traži datoteku na stazi navedenoj u MATLAB-u.

Parametar dozvole može uzeti jednu od sljedećih osnovnih vrijednosti (pogledajte sistem pomoći za druge):

    "r" - otvaranje datoteke za čitanje (podrazumevano);

    "r+" - otvaranje datoteke za čitanje i pisanje;

    "w" - obrišite sadržaj postojeće datoteke ili kreirajte novu i otvorite je za pisanje;

    "a" - kreirajte i otvorite novu datoteku ili otvorite postojeću zazapisi priloženi na kraj datoteke.

Dodavanje "b" u ovu liniju (podrazumevano) govori sistemu da otvori datoteku u binarnom režimu.

Dodavanje "t" umjesto b ovom nizu, kao što je "rt", na operativnim sistemima koji razlikuju tekstualne i binarne datoteke, daje instrukcije sistemu da otvori datoteku u tekstualnom modu. Na primjer, u svim Windows/MS-DOS i VMS verzijama MATLAB-a, ne možete otvoriti tekstualnu datoteku bez "rt" parametra. Unos datoteka koristeći fopen u tekstualnom modu uklanja sve znakove koji se vraćaju prije znaka nova linija.

    Fopentfilename.permission,format) - Otvara datoteku kao što je gore opisano, vraćajući ID datoteke i poruku. Osim toga, vrijednost parametra formata vam omogućava da precizno definirate format broja. Postoji 8 mogućih formata, čiji opis možete pronaći u sistemu pomoći. Konkretno, niz formata može biti "native" (format računara na kojem je sistem instaliran), "vax", "cry" (VAX i Cray računari) itd.

Određeni pozivi za fread ili fwrite mogu nadjačati format broja naveden u pozivu fopen.

    fids = fopen C all") - vraća vektor reda koji sadrži identifikatore svih otvorenih datoteka, ne uključujući standardne tokove O, 1 i 2. Broj vektorskih elemenata jednak je broju datoteka koje je otvorio korisnik;

    Fopen(fid) - Vraća puno ime datoteke, string .permission i string formata. Nevažeće fid vrijednosti vraćaju prazne nizove za sve izlazne argumente.

Naredba fclose zatvara datoteku. Ima sljedeće opcije.

    Status = fclose(fid) - zatvara datoteku ako je otvorena. Vraća status datoteke, što je 0 ako je zatvaranje bilo uspješno i -1 u suprotnom. Argument fid je identifikator povezan sa otvorenom datotekom (pogledajte funkciju fopen za detaljniji opis);

    status = fclose("all") zatvara sve otvorene datoteke. Vraća 0 ako je uspješan, -1 u suprotnom.

Primjer otvaranja i zatvaranja datoteke:

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

» fclose(4)

ans =

    Fread(fid,size,precision) - čita binarne podatke iz specificirani fajl i stavlja ih u matricu A. Izlazni argument brojanja sadrži broj uspješno pročitanih elemenata. Vrijednost fid je cijeli broj koji vraća fopen; veličina - argument koji specificira količinu podataka za čitanje. Ako argument veličine nije naveden, funkcija f read čita podatke do kraja datoteke.

Koriste se sljedeći parametri veličine:

    n - čitanje n elemenata u vektor kolone;

    Čita onoliko elemenata koliko je potrebno za popunjavanje matrice thp.

Popunjavanje se vrši u kolonama. Ako u datoteci ima nekoliko elemenata, tada je matrica napunjena nulama. Ako čitanje dođe do kraja datoteke bez popunjavanja matrice potrebne veličine, tada se matrica puni nulama. Ako dođe do greške, čitanje se zaustavlja na posljednjoj očitanoj vrijednosti. Parametar preciznosti je niz koji specificira numeričku preciznost čitanja vrijednosti, kontrolira broj pročitanih bitova za svaku vrijednost i tumači te bitove kao cijeli broj, broj s pomičnim zarezom ili znak

    Fread(fid,size.precision,skip) - Uključuje proizvoljan argument za preskakanje koji specificira broj bajtova koje treba preskočiti nakon svakog čitanja. Ovo može biti korisno kada izvlačite nesusjedne podatke iz zapisa fiksne dužine. Ako je preciznost u formatu bita, kao što je "bitN 1 ili "ubitN", vrijednost preskakanja je određena pomoću ~ bits. Opsežna lista mogućih vrijednosti za parametar preciznosti može se naći u MATLAB sistemu pomoći;

    count=fwrite(fid,A,precision) - upisuje elemente matrice A u datoteku, predstavljajući ih sa navedenom preciznošću. Podaci se zapisuju u datoteku u kolonama, izlazni argument count sadrži broj uspješno upisanih elemenata. Vrijednost identifikatora fid je cijeli broj dobiven iz funkcije f open. Dodaje povratne oznake prije početka nove linije;

    count=fwrite(fid.A,precision,skip) - radi isto, ali uključuje proizvoljan argument za preskakanje koji specificira broj bajtova koje treba preskočiti prije svakog pisanja. Ovo je korisno kada umetnete podatke u nesusedna područja u zapisima fiksne dužine. Ako je preciznost u formatu bita, kao što je "bitN" ili "ubitN", vrijednost preskakanja je navedena u bitovima.

primjeri:

» 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)

Count =

» 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

count =

Operacije na formatiranim datotekama

Pozivaju se datoteke koje sadrže formatirane podatke formatirane datoteke. Ispod su funkcije koje se koriste za rad s takvim datotekama.

    Linija = fgetl(fid) - vraća string od datoteka sa identifikatorom fid sa uklonjenim znakom na kraju reda. Ako funkcija fgetl otkrije kraj datoteke, vraća -1 (pogledajte funkciju fopen za više informacija). Detaljan opis fid);

    Linija = f dobija (fid) - vraća liniju iz datoteke sa id fid bez uklanjanja terminatora linije. Ako funkcija fgets otkrije kraj datoteke, vraća -1;

    Linija = fgets(fid.nchar) - ne vraća više od nchar prvih znakova reda. Nakon kraja reda ili kraja datoteke, ne dodatni karakteri se ne čitaju (pogledajte primjere za funkciju fscanf);

    Count = fprintf(fid.format,A....) formatira podatke sadržane u realnom dijelu matrice A pod kontrolom niza formata i upisuje ih u datoteku sa identifikatorom fid. Funkcija fprintf vraća broj upisanih bajtova. Vrijednost fid je cijeli broj koji vraća funkcija fopen.

Ako izostavite identifikator fid sa liste argumenata u funkciji fprintf, onda će se izlaz izvesti na ekranu, baš kao kada se koristi standardni izlaz (fid=l).

    fprintf(format,A....) - upisivanje se vrši na standardni uređaj - ekran (ali ne u datoteku). Niz formata definiše sistem brojeva, poravnanje, značajne cifre, širinu polja i druge atribute izlaznog formata. Može sadržavati obična slova abecede zajedno sa specifikacijama, oznakama za poravnanje itd.

Tabela 19.1. Posebni znakovi u nizovima formata

Simbol

Opis

\n

Nova linija

\t

Horizontalna kartica

\b

Vrati jedan znak

\r

Povrat kočije

\f

Nova stranica

\\

Povratna kosa crta

\" ili "

jednostruki navodnik

%%

Procenat

Funkcija fprintf ponaša se kao ekvivalentna ANSI C funkcija fprintf, sa nekim izuzecima i ekstenzijama. U tabeli. 19.1 su opisani Posebni simboli, koji se pojavljuje u nizu formata. Za izlaz numeričkih ili znakovnih podataka u nizu formata, morate koristiti specifikacije navedeno u tabeli. 19.2.

Tabela 19.2. Specifikatori formata izlaznih podataka

specificer

Opis

%d Decimalni zapis (potpisan)
*od Jedan simbol

%e

Eksponencijalni prikaz brojeva pomoću simbola "e" na dnu registar, na primjer 3.1415e + 00

Eksponencijalni prikaz brojeva pomoću simbola "E" na vrhu registar, na primjer 3.1415E + 00

%f

Notacija fiksne tačke

%g

Najkompaktniji od %e i %f. Vodeće nule se ne izlaze.

%G

Isto kao %d, ali koristi velika slova za znak "E".

%o

Oktalna notacija (nepotpisana)

%s

Niz znakova

%u

Decimalni zapis (nepotpisan)

%x


Heksadecimalni zapis pomoću simbola mala slova("a"..."f")

%X

Heksadecimalni zapis koji koristi velika slova ("A"...F")

Dodatni znakovi se mogu umetnuti između znaka procenta i slova u specifikaciji. Njihovo značenje je objašnjeno u tabeli. 19.3.

Tabela 19.3. Opcije specifikacije formata

Simbol

Opis

Primjer

Znak minus" (-)

Poravnajte konvertovane argumente ulijevo

%-5,2d

znak plus (+)

Uvijek odštampajte znak broja (+ ili -)

%+5,2d

nula (0)

Padding sa nulama umjesto razmacima

%05.2d

Brojevi

Određuje minimalni broj znakova za štampanje

%6f

Brojevi (posle tačke)

Broj iza tačke određuje broj ispisanih znakovadesno od decimalnog zareza

%6.2f

    A = fscanf(fid, format) - čita sve podatke iz datoteke sa identifikatorom, fid, pretvara ih prema vrijednosti parametra formata i vraća kao matricu A. Vrijednost fid je cijeli broj koji vraća fopen funkcija . Parametar formata je niz koji specificira format podataka koji se čitaju;

    Fscanf(fid.format,size) - čita količinu podataka specificiranu parametrom veličine, pretvara je u skladu sa parametrom formata i vraća je zajedno sa brojem uspješno pročitanih elemenata brojača. Parametar veličine je proizvoljan argument koji specificira količinu podataka za čitanje. Važeće vrijednosti su:

    • inf - pročitati elemente do kraja datoteke i staviti ih u vektor kolone koji sadrži isti broj elemenata kao u datoteci;

      Čita onoliko elemenata koliko je potrebno za popunjavanje matrice veličine thp. Popunjavanje se vrši u kolonama. Vrijednost n (ali ne!) može uzeti vrijednost Inf.

Niz formata se sastoji od regularnih znakova i/ili specifikacija. Specifikatori označavaju tip podataka koji se čitaju i uključuju karakter %, opcija širine polja i format znakova. Mogući karakteri formati su navedeni u tabeli. 19.4.

Tabela 19.4. Formatirajte znakove koje koristi fscanf

Simbol

Opis

Redoslijed znakova; parametar širine polja određuje broj znakova za čitanje

%d

Decimalni broj

%e, %f, %g

broj s pomičnim zarezom

%i

Potpisani cijeli broj

%o

oktalni broj potpisan

%s

Niz znakova koji nisu razmak

%u

Predpisani decimalni cijeli broj

%x

Heksadecimalni cijeli broj sa predznakom

[...]

Slijed karaktera

Između karaktera % i znak formata, dozvoljeno je umetanje sljedećih znakova:

    Zvjezdica (*) znači da odgovarajuća vrijednost ne mora biti pohranjena u izlaznoj matrici;

    Niz skupova brojeva maksimalna širina polja;

    Slovo predstavlja veličinu rezultirajućeg objekta: h za kratki cijeli broj (na primjer, %n d), 1 za dug cijeli broj (na primjer, %ld), ili za broj s pomičnim zarezom dvostruke preciznosti (na primjer, % lg ).

primjeri:

» 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=

Pozicioniranje fajla

Prilikom čitanja i pisanja datoteka, oni se konvencionalno predstavljaju kao linearno raspoređeni podaci, slično snimanju na kontinuiranu magnetnu traku. Mjesto sa kojeg se trenutno čita (ili pozicija s koje se počinje pisanje) određuje se posebnim pokazivač. Datoteke sekvencijalnog pristupa se gledaju striktno od početka do kraja, au fajlovima sa slučajnim pristupom, pokazivač se može postaviti bilo gdje odakle se pišu ili čitaju podaci iz datoteke.

Dakle, pokazivač omogućava pozicioniranje datoteke. Postoji niz funkcija pozicioniranja:

    Eofstat = feof(fid) - provjerava da li je dostignut kraj datoteke sa id fid. Vraća 1 ako je pokazivač na kraju datoteke, 0 u suprotnom;

    Poruka = ​​ferror(fid) - Vraća detalje greške kao niz poruke. Argument fid je identifikator otvori datoteku(pogledajte funkciju fopen za detaljan opis);

    Poruka = ​​f error (f id,"clear") - briše indikator greške za navedeni fajl;

    Ferror(.) - vraća broj greške errnum poslednja operacija I/O za dati fajl.

Ako je posljednja I/O operacija izvedena na datoteci koju je specificirao fid bila uspješna, poruka je prazan niz, a errnum je 0.

Vrijednost errnum različita od nule označava da se dogodila greška tijekom posljednje I/O operacije. Parametar poruke sadrži niz koji sadrži informacije o prirodi greške koja se dogodila.

primjer:

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

fid=

» t= fread(3,)

Prazna matrica: 4-by-0

» feror(3)

ans=

Da li je fajl otvoren za čitanje? . . .

    frewind(fid) - postavlja pokazivač pozicije na početak datoteke sa fid identifikatorom;

    Status - fseekCfid,offset,origin) - postavlja pokazivač u datoteci sa identifikatorom fid na navedenu poziciju - na bajt specificiran parametrom pomaka u odnosu na porijeklo.

Argumenti:

    fid je identifikator datoteke koji vraća funkcija fopen;

    offset - vrijednost koja se tumači na sljedeći način:

    • offset>0 - mijenja poziciju pokazivača na pomak bajtova prema kraju datoteke;

      offset=0 - ne mijenja poziciju pokazivača;

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

    Porijeklo je argument koji uzima sljedeće vrijednosti:

    • "bof ili -1 - početak datoteke;

      "cof" ili 0 - trenutna pozicija pokazivača u datoteci;

      "eof" ili 1 - kraj datoteke;

    status je izlazni argument. Uzima vrijednost 0 ako je operacija fseek bila uspješna, i -1 u suprotnom. Ako dođe do greške, koristite funkciju ferror za više informacija;

    position=ftel I (fid) - vraća poziciju pokazivača datoteke za datoteku sa fid id-om dobijenim pomoću fopen funkcije. Izlazni argument pozicije je nenegativan cijeli broj koji specificira poziciju pokazivača u bajtovima u odnosu na početak datoteke. Ako je zahtjev bio neuspješan, pozicija uzima vrijednost -1. Koristite funkciju ferror da prikažete prirodu greške.

primjeri:

» f id-fopen("s:\example"."a+")

fid=

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

Broj = 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,...) - formatira podatke u matrici A u formatu specificiranom parametrom formata i od njih kreira string varijablu s;

    SprintfCformat,A....) - slično prethodno opisanoj funkciji, ali dodatno vraća string greške errmsg ako je došlo do greške ili prazan string u suprotnom. Niz formata definiše sistem brojeva, poravnanje, značajne cifre, širinu polja i druge atribute izlaznog formata. Može sadržavati regularne znakove, kao i specifikacije, znakove za proširenje itd. Funkcija fprintf se ponaša kao ekvivalentna ANSI C funkcija fprintf 0, sa nekim izuzecima i ekstenzijama.

primjeri:

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

ans =

0.91144

» sprintfc "%s","Hej")

ans =

Hej

Funkcija sscanf je slična funkciji fscanf, osim što čita podatke iz MATLAB sistemske karakterne varijable, a ne iz datoteke.

    A = sscanf (s, format) - čita podatke iz karakterne varijable s, pretvara ih prema vrijednosti formata i na osnovu ovih podataka kreira matricu A. Parametar formata određuje format podataka koji se čitaju;

    A = sscanf(s, format, size) - čita količinu podataka specificiranu parametrom veličine i konvertuje je u skladu sa nizom formata. Parametar veličine je argument koji specificira količinu podataka za čitanje. Važeće vrijednosti su:

    • n - čitanje n elemenata u vektor kolone;

      inf - pročitajte elemente do kraja karakterne varijable i stavite ih u vektor kolone koji sadrži isti broj elemenata kao u string varijabli;

      Čita onoliko elemenata koliko je potrebno za popunjavanje matrice veličine thp. Popunjavanje se vrši u kolonama. Vrijednost n (ali ne!) može uzeti vrijednost Inf.

    Sscanf(...) - čita podatke iz karakterne varijable s, pretvara ih prema vrijednosti formata i vraća u matricu A. Parametar brojanja je output.argument koji vraća broj uspješno pročitanih elemenata; errmsg je izlazni argument koji vraća string greške ako je došlo do greške i prazan string u suprotnom; nextindex je izlazni argument koji sadrži broj jedan veći od broja znakova u s.

Niz formata se sastoji od normalnih znakova i specifikacija. Specifikatori određuju tip podataka i uključuju znak %, opcija širine polja i format znakova. Objašnjenja se mogu naći u opisu funkcije fscanf.

primjer:

» s = "4,83 3,16 22 45";

» = sscanf(s. "%f")

A =

4.8300 - 3.1600

22.0000

45.0000

Err=

sljedeći =

Specijalizovani fajlovi

Funkcije u nastavku su za neke specijalizovani fajlovi:

    M = dlmread(ime datoteke, graničnik) Čita podatke iz naziva datoteke sa ASCII graničnikom, koristeći graničnik, u niz M. Koristite "\t" i da navedete znak tabulatora kao graničnik;

    M = dlmreadCfilename.delimiter,r.c) - čita podatke iz naziva datoteke sa ASCII graničnikom, koristeći graničnik, u niz M, počevši od pomaka r (po redovima) i c (po kolonama). Parametri r i c su bazirani na nuli, tako da r=0, c=0 odgovara prvoj vrijednosti u datoteci;

    M = dlmreadCfilename, deli mi ten, r, c, range) - uvozi indeksirani ili imenovani opseg podataka razgraničenih ASCII-om. Da biste koristili raspon ćelija, trebate definirati parametar raspona kao raspon = [TopRow. Lijeva kolona. BottomRow, Right Column].

Argumenti funkcije dlmread su sljedeći:

    Delimiter - znak koji razdvaja pojedinačne elemente matrice u ASCII tabeli;

    (,) - zadani separator;

    R, c - ćelija tabele iz koje se uzimaju elementi matrice koji odgovaraju elementima u gornjem levom uglu tabele;

    raspon - vektor koji definira raspon ćelija proračunske tablice.

Naredba dlmwrite pretvara MATLAB matricu u ASCII razgraničenu datoteku koju mogu čitati programi za proračunske tablice:

    Dl mwri te (f i 1 ename. A. delimiter) - upisuje matricu A u gornju lijevu ćeliju tabele sa imenom datoteke, koristeći graničnik za razdvajanje elemenata matrice. Koristite "U" da kreirate fajl sa stavkama razdvojenim tabulatorima. Svi elementi sa vrijednošću 0 su izostavljeni. Na primjer, niz će se pojaviti u datoteci kao "1., 2" (ako je graničnik zarez):

    dlmwrite(ime datoteke,A,delimiter, r,c) - Zapisuje matricu A u ime datoteke, počevši od ćelije specificirane sa r i c, koristeći graničnik;

    info=imfinfo(filename.fmt) - vraća strukturu čija polja sadrže informacije o slici u grafičkoj datoteci. Argument filename je string koji specificira ime grafičke datoteke, fmt je string koji specificira format datoteke. Datoteka mora biti u trenutnom direktoriju ili u direktoriju specificiranom u MATLAB stazi. Ako imflinfo ne može pronaći datoteku pod nazivom filename, traži datoteku pod nazivom filename.fmt.

U tabeli. Slika 19.5 prikazuje moguće vrijednosti za argument fmt.

Tabela 19.5. Podržani grafički formati i njihovi simboli

Ako je ime datoteke TIFF ili HDF datoteka koja sadrži više od jedne slike, tada je 1 nf o niz struktura sa zasebnim elementom (tj. individualnom strukturom) za svaku sliku u datoteci. Na primjer, info(3) bi tada sadržavao informacije o trećoj slici u datoteci. Skup polja u info ovisi o konkretnoj datoteci i njenom formatu. Međutim, prvih devet polja je uvijek isto. U tabeli. 19.6 navodi ova polja i opisuje njihova značenja.

Tabela 19.6. Polja informacijske strukture i njihova značenja

Polje Značenje
ime dokumenta Niz koji sadrži ime datoteke; ako datoteka nije u trenutnom direktoriju, red sadrži punu putanju do datoteke
FileModDate Niz koji sadrži datum posljednje izmjene datoteke
Veličina fajla Cijeli broj koji označava veličinu datoteke u bajtovima
Format Niz koji sadrži format datoteke specificiran parametrom fmt; za JPEG i TIFF datoteke vraća se vrijednost od tri znaka
FormatVersion Niz ili broj koji opisuje verziju formata
Širina Cijeli broj koji specificira širinu slike u pikselima
Visina Cijeli broj koji označava visinu slike u pikselima
BitDepth Cijeli broj koji označava broj bitova po pikselu
tip boje Niz koji opisuje tip slike: "truecolor" za RGB sliku, "sive boje" za sliku u nijansama sive ili "indeksirano" za indeksiranu sliku u boji

    Info = imfinfo(ime datoteke) - pokušava odrediti format datoteke iz sadržaja. primjer:

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

info=

Naziv datoteke: "C:\Exhibition\Internet.bmp"

Veličina fajla: 481078

Format: "bmp"

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

ili prave boje (RGB) slike klase uint8, naredba imwrite upisuje stvarne vrijednosti niza u datoteku. Ako je A klase double, naredba imwrite nadjačava vrijednosti u nizu prije pisanja, koristeći konverziju uint8(round(255*A)). Ova operacija pretvara brojeve s pomičnim zarezom u rasponu u 8-bitne cijele brojeve u rasponu. Važeće vrijednosti za ftnt parametar su iste kao one koje se koriste u naredbi imfinfo;

    imwrite(X,map,filename,fmt) - Zapisuje indeksiranu sliku u X nizu i odgovarajuću paletu boja u ime datoteke datoteke. Ako X sadrži sliku klase uint8, naredba imwrite upisuje stvarne vrijednosti niza u datoteku. Ako je X klase double, naredba imwrite nadjačava vrijednosti u nizu prije pisanja, koristeći konverziju uintS(X-l). Tara paleta mora biti klase dvostruka; funkcija imwrite redefinira vrijednosti za tar koristeći konverziju uint8(round (255*map));

    imwrite(....filename) - Zapisuje sliku u naziv datoteke u formatu određenom ekstenzijom datoteke. Ekstenzija može biti jedna od dozvoljenih vrijednosti za parametar fmt;

    imwrite(....Parameter, Value....) definira parametre koji kontroliraju različita svojstva izlazne datoteke. Parametri se koriste za HDF, JPEG i TIFF datoteke;

    M = wklread(ime datoteke) - čita Lotusl23 (WK1) tabelu u matricu M;

    M = wklread(filename.r.c) - čita podatke počevši od ćelije definisane sa (r,c). Parametri r i c su bazirani na nuli, tako da r=0, c=0 definiraju prvu ćeliju u datoteci;

    M = wklread(ime datoteke, r, c, raspon) - čita raspon vrijednosti specificiranih parametrom raspona, gdje raspon može biti predstavljen u jednom od sljedećih oblika:

    • vektor sa četiri elementa koji definira raspon ćelija u formatu [top_row. lijevi_stupac, donji_red, desni_stupac];

      raspon ćelija definiranih nizom, kao što je "A1...C5";

      naziv raspona, definiran kao string, kao što je "Prodaja".

    wklwrite(filename.M) - upisuje vrijednosti matrice M u ime datoteke u tabeli Lotus 123 WK1;

    wklwrite(ime datoteke,M,r,c) Zapisuje podatke počevši od ćelije specificirane sa (r,c). Parametri r i c su bazirani na nuli, tako da r=0, c=0 definiraju prvu ćeliju u tabeli.

U tabeli. 19.7 prikazuje formate slika koji su dostupni za čitanje pomoću funkcije imread. Liste parametara i njihove moguće vrijednosti za funkciju imwrite nalaze se u tabeli. 19.8.

Treba napomenuti da većinu gore navedenih funkcija korisnici rijetko koriste. Ali oni se dosta koriste u sistemske svrhe i od velikog su interesa za stručnjake.

Tabela 19.7. Formati datoteka i njihov kratak opis

Format Opcije
BMP 1-bitne, 4-bitne, 8-bitne i 24-bitne nekomprimirane slike; 4-bitne i 8-bitne slike sa RLE kompresijom
HDF 8-bitne bitmape, sa ili bez palete boja; 24-bitne bitmape
JPEG Bilo koje JPEG slike; JPEG slike sa nekim uobičajenim ekstenzijama
PCX 1-bitne, 8-bitne i 24-bitne slike
TIFF Sve TIFF slike, uključujući !-bitne, 8-bitne i 24-bitne nekomprimirane slike; 1-bitne, 8-bitne i 24-bitne packbit slike; 1-bitne slike sa CCITT kompresijom
XWD 1-bitni i 8-bitni Zpixmaps; XYBitmaps; 1-bitne XYPixmape

Tabela 19.8. Opcije koje se koriste prilikom pisanja grafičkih datoteka

Parametar Značenje Zadana vrijednost
Opcije za HDF datoteke
"kompresija" Jedna od sljedećih vrijednosti: "none", Vie, "jpeg" "rle"
"kvalitet" Broj između 0 i 100; parametar je podržan za "Compression"="jpeg"; što je veći broj, to je veći kvalitet datoteke (manje izobličenja datoteke tokom kompresije) i veća je njena veličina 75
"Način pisanja" Jedna od sljedećih vrijednosti: "overwrite", "append" "prepisati"
Opcije za JPEG datoteke
"kvalitet" Broj između 0 i 100; što je veći broj, to je veći kvalitet datoteke (manje izobličenja prilikom kompresije datoteke) i veća je njena veličina. 75
Opcije za TIFF datoteke
"kompresija" Jedna od sljedećih vrijednosti: "none", "packbits", "ccitt"; vrijednost "ccitt" vrijedi samo za binarne (dvobojne) slike "ccitt" za binarne slike; "packbits" za sve ostale
"Opis" Bilo koja linija; vrijednost polja ImageDescription vraća se naredbom imfinfo Prazan red
"rezolucija" Skalarna vrijednost za rezoluciju u x i y smjerovima
72

Šta smo novo naučili?

U ovoj lekciji smo naučili:

    Otvaranje i zatvaranje datoteka.

    Izvršite operacije nad binarnim i formatiranim datotekama.

    Izvršite pozicioniranje datoteke.

    Primijenite prilagođene datoteke.

Fajlovi su prilično uobičajeni objekti u MATLAB sistemu. Neki tipovi datoteka su već razmatrani u prethodnim poglavljima. Ova lekcija se bavi svojstvima datoteka koje ne zavise od njihovog tipa i koje se odnose na bilo koje datoteke.

File obično je neka zbirka podataka objedinjena jednim imenom. Tip datoteke obično je određen njegovom ekstenzijom. Mi smatramo datoteku kao cjelinu, iako fizički na disku može biti predstavljena s nekoliko područja - kažu da je u ovom slučaju datoteka fragmentirana.

Prije upotrebe bilo koje datoteke, ona mora biti otvoren, a na kraju upotrebe - zatvoreno. Mnoge datoteke se mogu otvoriti i čitati u isto vrijeme. Razmotrite komande za otvaranje i zatvaranje datoteka.

  • Zapovjedi otvoreno ime, gdje ime mora sadržavati niz znakova ili karakternu varijablu, otvara datoteke ovisno o raščlanjivanju naziva parametra i ekstenzija u nazivu imena:
    • varijabla- otvara niz, imenovan po imenu, u uređivaču niza (Array Editor);
    • .mat- otvara fajl, sprema varijable u strukturu u radnom prostoru;
    • .sl- otvara ga u uređivaču grafike deskriptora Property Editor;
    • .m- otvara m-datoteku u editoru-debageru;
    • .mdl- otvara model u Simulink-u;
    • .R- otvara, ako postoji, m-fajl sa istim imenom;
    • .html- otvara HTML dokument u pretraživaču pomoći.

Ako fajlovi sa ekstenzijom postoje u MATLAB putanji, onda je fajl koji se vraća naredbom čije ime se otvara, ako ne, onda fajl iz sistema datoteka. Ako datoteka nema ekstenziju imena, onda je otvara program čiji format datoteke bi detektovala funkcija koja ("ime datoteke") Prema zadanim postavkama, za sve datoteke sa završetkom koji nije gore, poziva se openother. Open poziva funkcije orepxxx, gdje je xxx ekstenzija datoteke. Izuzetak su varijable radnog prostora za koje se zove openvar i crteži za koje se poziva openim. Kreiranjem t-fajlova pod nazivom orexxxx, korisnici mogu promijeniti rukovanje datotekama i dodati nove ekstenzije na listu. Datoteke otvorene sa open moraju biti zatvorene iz editora koje poziva openxxx.

  • = uigetfile(FILTERSPEC.Title). Otvara dijalog pod nazivom Naslov sa filterom FILTERSPEC (na primjer, niz ćelija koji sadrži ekstenzije datoteke) i vraća datoteku koju je odabrao korisnik i njenu putanju. Vraća FILENAME=0 ako datoteka ne postoji ili ako je korisnik kliknuo na Otkaži. = uigetfile(FILTERSPEC, Naslov. X. Y) postavlja dijaloški okvir na X, Y (koordinate piksela).

Uigetfile("*.m;*.fig;*.mat:*.mdl" , "Sve MATLAB datoteke (*.m, *.fig, *.mat. *.mdl)")...

  • = uiputfile(FILTERSPEC.TITLE)čuva datoteku u dijalogu koji vodi korisnik. Parametri su slični onima u funkciji uigetfile.
  • Zapovjedi ui open otvara dijalog i ako je korisnik odabrao datoteku s poznatom ekstenzijom, poziva je koristeći open, ili ako ime datoteke ima nepoznatu ekstenziju, tada poziva uigetfile. uiopen ulazni argumenti mogu biti mat lab, load, figure, simulink, editor. Bez ulaznih argumenata ili sa matlab ulaznim argumentom, dijaloški okvir od vas traži da odaberete *.m, *.fig, *.mat, *.mdl (ako je Simulink instaliran), *.cdr (ako je instaliran tok stanja), *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb (ako je instalirana Real-Time Workshop). Sa opterećenjem argumenta - *.mat. Sa argumentom figure, *.fig; simul ink - *.mdl, editor - *.m, *.mdt *.cdr, *.rtw, *.tmf, *.tlc, *.c, *.h, *.ads, *.adb.

Uiopen figure

  • Zapovjedi uiload otvara datoteku u dijalogu koji vodi korisnik koristeći naredbu opterećenje.

Funkcija ui import Lansira Čarobnjak za uvoz(Čarobnjak za uvoz), uvoz iz datoteke u trenutnoj fascikli ili Windows međuspremnika. Odgovara izboru uvoz podataka iz menija fajl ili izbor Paste Special iz menija Uredi MATLAB.

  • uvoz korisničkog interfejsa (FILENAME)- pokreće čarobnjak za uvoz otvaranjem FILENAME. Čarobnjak za uvoz prikazuje podatke za pregled. Podaci i njihova reprezentacija kao MATLAB varijable pojavljuju se u prozoru za pregled. Stvarni podaci, tekst i naslovi su predstavljeni različitim MATLAB varijablama. Za ASCII podatke, morate osigurati da čarobnjak za uvoz prepoznaje separatore stupaca. Sam po sebi, može prepoznati samo tabulator, razmak, zarez ili tačku i zarez. Potrebno je da kliknete na dugme Sljedeći i u sljedećem prozoru potvrdite izbor separatora koji je napravio čarobnjak ili odaberite Ostalo i unesite bilo koji separator.
  • ui import("-file")- prvo prikazuje dijalog za odabir datoteke.
  • ui import("-pastespecial")- prvo prikazuje sadržaj Windows međuspremnika za pregled.
  • S = ui import(...) pohranjuje rezultirajuće varijable kao polja S strukture.
  • Zapovjedi uisave- spremanje kojim upravlja korisnik (naredba za spremanje je opisana u lekciji 2) sa Windows dijalogom.
  • Funkcija saveas- pohranjuje crtež ili Simulink model u željenom formatu na mediju za pohranu ili na uređaj s omogućenom ispisom.
  • Funkcija saveas(H, "FILENAME")- pohranjuje podatke prema grafičkoj komandi deskriptora H u datoteci FILENAME. Format datoteke je određen ekstenzijom naziva FILENAME.
  • Funkcija saveas(H. "FILENAME". "FORMAT")- radi isto, ali sa parametrom FORMAT (format je specificiran na isti način kao ekstenzija naziva datoteke i može se razlikovati od njega). FORMAT ima prednost nad ekstenzijom naziva datoteke. Parametri funkcije:
    • "smokva"- sačuvati crtež (graf) u binarnoj fig-datoteci;
    • "m" ili "mfig"- sačuvajte crtež u binarnoj fig-datoteci i kreirajte m-datoteku za učitavanje;
    • "mmat"- sačuvati sliku u m-datoteci kao niz naredbi za kreiranje slike. Možda ne podržava najnovije grafičke karakteristike.

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

Naredba ili funkcija izbrisati briše grafičku datoteku ili objekt.

Top Related Articles