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

Operacione me vargje matlab. Vargjet numerike

do të ndryshojmë elementin e tretë të grupit. Ose, pas hyrjes:

"Al (2) = (al (1) + al (3)) / 2;

elementi i dytë i grupit do të jetë i barabartë me mesataren aritmetike të elementit të parë dhe të tretë. Shkrimi i një elementi joekzistent është mjaft i pranueshëm - do të thotë shtimi i një elementi të ri në një grup tashmë ekzistues:

Duke aplikuar funksionin e gjatësisë në grupin a1 pas këtij veprimi, ne zbulojmë se numri i elementeve në grup është rritur në katër:

»Gjatësia (al) ans = 4

I njëjti veprim - "zgjatja e grupit a1" - mund të kryhet duke përdorur operacionin e lidhjes:

Ju mund të përcaktoni një grup duke shkruar të gjithë elementët e tij veçmas:

"A3 (1) = 67; a3 (2) = 7,8; a3 (3) = 0,017;

Sidoqoftë, kjo metodë e krijimit nuk është efikase.

Një mënyrë tjetër për të krijuar një grup njëdimensional bazohet në përdorimin e një funksioni të veçantë të shënuar me dy pika (operacioni i formimit të një sërë vlerash numerike). Futni numrin e parë të diapazonit, hapin (rritje) dhe numrin fundor të diapazonit, të ndara me dy pika. Për shembull:

"Diap = 3.7: 0.3: 8.974;

Nëse nuk keni nevojë të shfaqni të gjithë grupin që rezulton, atëherë në fund të grupit (pas numrit përfundimtar të diapazonit), shkruani një pikëpresje. Për të zbuluar se sa elementë janë në një grup, thirrni funksionin gjatësia (emri i grupit).

Ju gjithashtu mund të përdorni operacionin e lidhjes për të krijuar një grup (matricë) dy-dimensionale. Elementet e grupit shtypen një nga një me-

12 sipas renditjes së tyre në rreshta, një pikëpresje përdoret si ndarës vijash.

Hyni nga tastiera:

»A =

Shtypni ENTER, marrim:

Matrica që rezulton 3x2 a (e para është numri i rreshtave, e dyta është numri i kolonave) mund të formohet gjithashtu nga bashkimi vertikal i vektorëve të rreshtave:

»A = [;;];

ose nga bashkimi horizontal i vektorëve të kolonës:

»A = [,];

Struktura e vargjeve të krijuara mund të gjendet duke përdorur komandën whos (emri i grupit), madhësia e grupit - duke përdorur funksionin ndims dhe madhësia e grupit - madhësia.

Vargjet dydimensionale mund të specifikohen gjithashtu duke përdorur operacionin e indeksimit, duke i shkruar elementet e tij veçmas. Numri i rreshtit dhe kolonës, në kryqëzimin e të cilave ndodhet elementi i caktuar i grupit, specifikohen të ndara me presje në kllapa. Për shembull:

"A (1,1) = 1; a (1,2) = 2; a (2.1) = 3;

"A (2.2) = 4; a (3.1) = 5; a (3.2) = 6;

Sidoqoftë, do të jetë shumë më efikase nëse, përpara se të filloni të shkruani elementet e grupit, krijoni një grup të madhësisë së kërkuar duke përdorur funksionet njës (m, n) ose zero (m, n), të mbushur me një ose zero (m është numri i rreshtave, n është numri i kolonave). Kur thirren këto funksione, memoria paracaktohet për një madhësi të caktuar të grupit, pas së cilës përshkrimi gradual i elementeve me

13 vlerat nuk kërkon rindërtimin e strukturës së memories së caktuar për grupin.

Këto funksione mund të përdoren gjithashtu kur specifikohen vargje të dimensioneve të tjera.

Nëse pas formimit të grupit X është e nevojshme të ndryshohen dimensionet e tij pa ndryshuar elementet e grupit, mund të përdorni funksionin e riformësimit (X, M, N), ku M dhe N janë dimensionet e reja të grupit X.

Funksionimi i këtij funksioni mund të shpjegohet vetëm në bazë të mënyrës në të cilën MATLAB ruan elementet e grupit në memorien e kompjuterit. Ai i ruan ato në një zonë të vazhdueshme të memories të renditur sipas kolonave: elementët e kolonës së parë janë të vendosura së pari, të ndjekur nga elementët e kolonës së dytë, e kështu me radhë. Përveç të dhënave aktuale (elementet e grupit), informacioni i kontrollit ruhet gjithashtu në memorien e kompjuterit: lloji i grupit (për shembull, i dyfishtë), dimensioni dhe madhësia e grupit dhe informacione të tjera të shërbimit. Ky informacion është i mjaftueshëm për të përcaktuar kufijtë e kolonave. Nga kjo rrjedh se për të riformuar matricën nga funksioni i riformësimit, mjafton të ndryshoni vetëm informacionin e shërbimit dhe të mos prekni të dhënat tuaja.

Ju mund të ndërroni rreshtat e matricës me kolonat e saj me operacionin e transportit, i cili shënohet me shenjën. "(Periudha dhe apostrofi). Për shembull,

"A =;

"B = A."

Operacioni "(apostrofë) kryen transpozim për matricat reale dhe transpozim me konjugim kompleks të njëkohshëm për matricat komplekse.

Objektet me të cilat punon MATLAB janë vargje. Edhe një numër i dhënë në paraqitjen e brendshme të MATLAB është një grup,

i përbërë nga një element. MATLAB ju lejon të bëni llogaritje me vargje të mëdha numrash po aq lehtë sa me numra të vetëm, dhe ky është një nga avantazhet më të dukshme dhe më të rëndësishme të sistemit MATLAB ndaj paketave të tjera softuerike të fokusuara në kompjuter dhe programim. Përveç memories së nevojshme për ruajtjen e elementeve numerikë (8 bajt për secilin në rastin e numrave realë dhe 16 bajt në rastin e numrave kompleksë), MATLAB cakton automatikisht memorien për informacionin e kontrollit kur krijon vargje.

Llogaritja me vargje

Në gjuhët tradicionale të programimit, llogaritjet me vargje kryhen element pas elementi në kuptimin që ju duhet të programoni çdo operacion të veçantë në një element të veçantë të grupit. Në gjuhën M të sistemit MATLAB, operacionet e fuqishme të grupit lejohen në të gjithë grupin menjëherë. Janë operacionet grupore të sistemit MATLAB që bëjnë të mundur përcaktimin jashtëzakonisht kompakt të shprehjeve, në llogaritjen e të cilave kryhet në të vërtetë një sasi e madhe pune.

Veprimet e mbledhjes dhe zbritjes së matricës (të njohura për ju nga algjebra lineare) shënohen me shenjat standarde + dhe -.

Specifikoni matricat A dhe B dhe kryeni operacionin e mbledhjes së matricës:

» A =; B =;

»A + B

Nëse përdoren operandë të madhësive të ndryshme, lëshohet një mesazh gabimi, përveç nëse njëri prej operandëve është skalar. Kur kryeni operacionin A + një skalar (A është një matricë), sistemi do të zgjerojë skalarin në një grup me madhësi A, i cili më pas shtohet element pas elementi me A.

15 Për shumëzimin elementor dhe ndarjen elementare të vargjeve

madhësive të barabarta, si dhe fuqizimit element pas elementi të vargjeve, zbatohen operacionet e shënuara me kombinime të dy karaktereve:. *, ./, dhe

. ^. Përdorimi i kombinimeve të simboleve shpjegohet me faktin se simbolet * dhe / tregojnë operacione speciale të algjebrës lineare në vektorë dhe matrica.

Përveç operacionit. /, i quajtur operacioni i ndarjes së elementit të djathtë, ekziston edhe operacioni i ndarjes sipas elementit të majtë. \. Le të shpjegojmë ndryshimin midis

këto operacione. Shprehja A. / B çon në një matricë me elementë A (k, m) / B (k, m), dhe shprehja A. \ B çon në një matricë me elementë B (k, m) / A (k, m) .

Shenja * i caktohet shumëzimit të matricave dhe vektorëve në kuptimin e algjebrës lineare.

Shenja \ është fiksuar në sistemin MATLAB për zgjidhjen e një problemi mjaft kompleks në algjebër lineare - gjetja e rrënjëve të një sistemi ekuacionesh lineare. Për shembull, nëse dëshironi të zgjidhni një sistem ekuacionesh lineare

ku A është një matricë katrore e dhënë me madhësi N x N, b është një kolonë e caktuar vektoriale me gjatësi N, atëherë për të gjetur vektorin e panjohur të kolonës y mjafton të llogaritet shprehja A \ b (kjo është ekuivalente me veprimin: A −1 B).

Problemet tipike të gjeometrisë analitike në hapësirë, të lidhura me gjetjen e gjatësive të vektorëve dhe këndeve ndërmjet tyre, me llogaritjen e produkteve skalare dhe vektoriale, zgjidhen lehtësisht me mjete të ndryshme të sistemit MATLAB. Për shembull, për të gjetur produktin kryq të vektorëve, përdoret një funksion i veçantë kryq, për shembull:

"U =; v =;

»Kryq (u, v)

16 Prodhimi me pika i vektorëve mund të llogaritet duke përdorur funksionin

shuma për qëllime të përgjithshme, e cila llogarit shumën e të gjithë elementëve të vektorëve (për matricat, ky funksion llogarit shumat për të gjitha kolonat). Produkti skalar dihet se është i barabartë me shumën e prodhimeve të koordinatave (elementeve) përkatëse të vektorëve. Pra shprehja:

njehson prodhimin me pika të dy vektorëve u dhe v. Produkti me pika mund të llogaritet gjithashtu si: u * v ′.

Gjatësia e vektorit llogaritet duke përdorur produktin me pika dhe funksionin e rrënjës katrore, për shembull:

»Sqrt (shuma (u. * U))

Marrëdhëniet dhe operacionet logjike të diskutuara më parë për skalarët kryhen element për element në rastin e vargjeve. Të dy operandët duhet të jenë të së njëjtës madhësi dhe operacioni kthen një rezultat të së njëjtës madhësi. Në rastin kur njëri nga operandët është skalar, kryhet zgjerimi paraprak i tij, kuptimi i të cilit tashmë është shpjeguar me shembullin e veprimeve aritmetike.

Ndër funksionet që gjenerojnë matrica me vetitë e dhëna, përmendim këtu funksionin e syrit, i cili prodhon matrica njësi katrore dhe funksionin e përdorur gjerësisht rand, i cili gjeneron një grup me elementë të rastësishëm të shpërndarë në mënyrë uniforme në intervalin nga 0 në 1. Për shembull, shprehja

gjeneron një grup 3x3 numrash të rastësishëm me elementë të ndarë në mënyrë të barabartë nga 0 në 1.

Nëse e thërrisni këtë funksion me dy argumente, për shembull R = rand (2,3), ju merrni një matricë 2x3 R të elementeve të rastit. Thirrja e rand-it me tre ose më shumë argumente skalare prodhon vargje shumëdimensionale të numrave të rastit.

Përcaktori i një matrice katrore llogaritet duke përdorur funksionin det. Ndër funksionet që kryejnë llogaritjet më të thjeshta në vargje,

Krahas funksionit të shumës që u diskutua më sipër, përmendim edhe funksionin prod, i cili është i ngjashëm me funksionin shumës në çdo gjë, vetëm se nuk llogarit shumën e elementeve, por produktin e tyre. Funksionet max dhe min kërkojnë respektivisht elementet maksimale dhe minimale të vargjeve. Për vektorët, ata kthejnë një vlerë të vetme numerike, dhe për matricat, ata prodhojnë një grup elementesh ekstreme të llogaritura për secilën kolonë. Funksioni sort rendit elementet e vargjeve njëdimensionale në rend rritës, dhe për matricat, ai e bën këtë renditje për secilën kolonë veç e veç.

Së fundi, ne do të shqyrtojmë aftësinë unike të gjuhës M të sistemit MATLAB për të kryer llogaritjet në grup në vargje duke përdorur funksione të zakonshme matematikore, të cilat në gjuhët tradicionale të programimit funksionojnë vetëm me argumente skalare. Si rezultat, me ndihmën e regjistrimeve jashtëzakonisht kompakte, të përshtatshme për të hyrë nga tastiera në mënyrën interaktive të punës me dritaren e komandës së sistemit MATLAB, është e mundur të kryhet një sasi e madhe llogaritjeje. Për shembull, vetëm dy shprehje të shkurtra

"X = 0: 0.01: pi / 2; y = mëkat (x);

llogaritni vlerat e funksionit sin njëherësh në 158 pikë, duke formuar dy vektorë x dhe y me 158 elementë secili.

Hartimi i një funksioni

Aftësitë grafike të MATLAB janë të fuqishme dhe të larmishme. Le të eksplorojmë veçoritë më të lehta për t'u përdorur (grafika e nivelit të lartë).

Formoni dy vektorë x dhe y:

"X = 0: 0.01: 2; y = mëkat (x);

Thirrni funksionin:

»Plota (x, y)

dhe ju do të merrni një grafik të funksionit në ekran (Fig. 1).

Oriz. 1. Grafiku i funksionit y = sin (x)

MATLAB shfaq objekte grafike në dritare të veçanta grafike me fjalën Figura në titull.

Pa hequr dritaren e parë grafike nga ekrani, futni shprehjet nga tastiera

»Z = cos (x);

»Plota (x, z)

dhe merrni një grafik të ri të funksionit në të njëjtën dritare grafike (në këtë rast, boshtet e vjetra të koordinatave dhe grafiku zhduken - kjo mund të arrihet edhe me komandën clf, me komandën cla vetëm grafiku fshihet, duke sjellë koordinatën boshtet e tyre standarde variojnë nga 0 në 1).

Nëse duhet të vizatoni grafikun e dytë "mbi grafikun e parë", atëherë përpara thirrjes së dytë të funksionit grafik të grafikut, duhet të ekzekutoni komandën mbajtëse, e cila është krijuar për të mbajtur dritaren aktuale grafike:

"X = 0: 0.01: 2; y = mëkat (x);

»Plota (x, y)

»Z = cos (x);

"Prit

»Plota (x, z)

Pothuajse e njëjta gjë do të ndodhë (Fig. 2), nëse shkruani:

» x = 0: 0.01: 2; y = mëkat (x); z = cos (x);

»Plota (x, y, x, z)

Oriz. 2. Grafikët e funksioneve y = sin (x), z = cos (x), të ndërtuara në një dritare grafike

Nëse ju duhet të jepni njëkohësisht disa grafikë në mënyrë që të mos ndërhyjnë me njëri-tjetrin, atëherë kjo mund të bëhet në dy mënyra. Zgjidhja e parë është ndërtimi i tyre në dritare të ndryshme grafike. Për ta bërë këtë, përpara thirrjes së dytë të funksionit të grafikut, shtypni komandën figura, e cila krijon një dritare të re grafike dhe detyron të gjitha funksionet vijuese të vizatimit t'i shfaqin ato atje.

Zgjidhja e dytë për të shfaqur grafika të shumta pa intervale të koordinatave konfliktuale është përdorimi i funksionit të nënplotës. Ky funksion lejon

20 em për të ndarë zonën e prodhimit të informacionit grafik në disa nënzona,

në secilën prej të cilave mund të shfaqni grafikët e funksioneve të ndryshme.

Për shembull, për llogaritjet e kryera më parë me funksionet sin dhe cos, vizatoni këto dy funksione në nënfushën e parë dhe grafikun e funksionit exp (x) në nënfushën e dytë të së njëjtës dritare grafike (Fig. 3):

»W = exp (x);

“Nënplot (1,2,1); komplot (x, y, x, z)

“Nënplot (1,2,2); komplot (x, w)

Oriz. 3. Grafikët e funksioneve y = sin (x), z = cos (x) dhe w = exp (x), të ndërtuara në dy nënfusha të së njëjtës dritare grafike

Gama e variacionit të variablave në boshtet koordinative të këtyre nënfushave janë të pavarura nga njëra-tjetra. Funksioni subplot merr tre argumente numerike, i pari prej të cilëve është i barabartë me numrin e rreshtave të nënzonave, i dyti është i barabartë me numrin e kolonave të nënzonave dhe argumenti i tretë është i barabartë me numrin e nënzonave -zona (numri është i numëruar

Indekset... Elementi i grupit A që ndodhet në kryqëzimin e rreshtit i dhe kolonës j shënohet si A (i, j).

Shembull
Konsideroni magjinë e matricës (4) si një grup A:

A = magji (4)
A =

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Atëherë A (4, 3) është elementi i vendosur në kryqëzimin e rreshtit 4 dhe kolonës 3, i barabartë me 15.

Ju gjithashtu mund të llogarisni shumën e elementeve të kolonës së katërt

A (1, 4) + A (2, 4) + A (3, 4) + A (4, 4)
ans = 34

Elementet e grupit A mund të referohen duke përdorur një indeks të vetëm, A (k). Kjo është mënyra e zakonshme për t'iu referuar elementeve të vektorëve. Por ju mund t'u referoheni elementeve të një grupi dydimensional në të njëjtën mënyrë, në të cilin rast vargu trajtohet si një vektor i gjatë kolone i formuar nga kolonat e grupit origjinal. Në këtë shembull, A (12) është një mënyrë tjetër për t'iu referuar vlerës 15 që korrespondon me A (4, 3).

Nëse bëhet një përpjekje për të hyrë në një element jashtë matricës, programi do të gjenerojë një gabim:

t = A (4, 5)
??? Indeksi i tejkalon dimensionet matricës. Indeksi tejkalon dimensionin e matricës.

Nëse i caktoni një vlerë një elementi me indekse jashtë grupit, atëherë MATLAB rrit automatikisht madhësinë e matricës.

Shembull:

X = A;
X (4, 5) = 17

X =

16 2 3 13 0
5 11 10 8 0
9 7 6 12 0
4 14 15 1 17

Përzgjedhja e nënblloqeve të një grupi... Nëse përdorni dy pika në nënshkrime, mund t'i referoheni nënblloqeve të një grupi. Pra, shprehja e indeksit A ​​(1: k, j) i referohet një blloku k elementësh në kolonën j.

Shembull:

A (1: 4.3)
ans =

3
10
6
15

Kolona 3 e matricës magjike (4) është e theksuar këtu.

Operatori

shuma (A (1: 4, 3))
ans = 34

llogarit shumën e elementeve në kolonën 3.

Megjithatë, ka një mënyrë më të mirë. Meqenëse vetë dy pika i referohet të gjithë elementëve në një rresht ose kolonë, shuma e fundit mund të llogaritet si kjo

shuma (A (:, 3))
ans = 34

Përveç kësaj, duke filluar nga versioni 5.0, rreshti ose kolona e fundit e një grupi mund të referohet duke përdorur fjalën kyçe fundore. Kështu, operatori

shuma (A (:, fundi))
ans = 34

njehson shumën e elementeve në kolonën e fundit të matricës A.

Lidhja e nënblloqeve në një grup. Operacioni i kombinimit të nënblloqeve individuale në një grup quhet bashkim. Edhe me rastin e formimit të matricës origjinale, kur elementet individuale janë të lidhura, kryhet një operacion bashkimi.Operatori i lidhjes është një palë kllapa katrore, brenda të cilave specifikohen elementet ose blloqet individuale të një vargu.

Shembull.
Duke përdorur matricën A të barabartë me magjinë (4), krijoni një matricë të re 8x8 B

B =
B =

16 2 3 13 48 34 35 45
5 11 10 8 37 43 42 40
9 7 6 12 41 39 38 44
4 14 15 1 36 46 47 33
64 50 51 61 32 18 19 29
53 59 58 56 21 27 26 24
57 55 54 60 25 23 22 28
52 62 63 49 20 30 31 17

Kjo matricë përbëhet nga katër blloqe 4x4

16 3 2 13
5 10 11 8
9 6 7 12
4 15 14 1
48 35 34 45
37 42 43 40
41 38 39 44
36 47 46 33
64 51 50 61
53 58 59 56
57 54 55 60
52 63 62 49
32 19 18 28
21 26 23 28
25 22 23 28
20 31 30 17

Kjo matricë është gjysma e një katrori tjetër magjik, elementët e të cilit janë në intervalin 1:64 numra të plotë. Shumat e kolonave tashmë kanë kuptimin e saktë për katrorin magjik 8x8:

shuma (B)
ans = 260 260 260 260 260 260 260 260

Megjithatë, shuma e rreshtave

shuma (B")
ans = 196 196 196 196 324 324 324 324

aspak njësoj.

Përpiquni të gjeni ato permutacione të elementeve që sjellin matricën B në një katror të vërtetë magjik të rendit 8.

Heqja e rreshtave dhe kolonave... Duke përdorur konceptin e një grupi bosh, ju mund të fshini me lehtësi rreshtat, kolonat dhe nënblloqet e tëra.

Le të themi

X = A
X =

16 2 3 13
5 11 10 8
9 7 6 12
4 14 15 1

Për të hequr kolonën e dytë të grupit X, mjafton të përdorni operatorin

X (:, 2) =
X =

16 3 13
5 10 8
9 6 12
4 15 1

Kur përpiqeni të zgjidhni një element të vetëm të një grupi, ndodh një gabim sepse rezultati nuk është një grup:

X (1, ​​2) =
??? Caktimi i matricës boshe të indeksuar nuk lejohet.
Është e ndaluar t'i caktohet një matricë boshe një shprehjeje indeksi
.

Sidoqoftë, përdorimi i një indeksi të vetëm ju lejon të hiqni një element të vetëm ose sekuencë elementësh, ndërsa elementët e mbetur i konvertoni në një vektor rreshti.

X = A;
X (:, 2) =

X =

16 3 13
5 10 8
9 6 12
4 15 1

X (2: 1: 12) =
X = 16
ose
X = A;
X (:, 2) =

X =

16 3 13
5 10 8
9 6 12
4 15 1

X (2: 2: 10) =
X = 16 9 3 6 13 12 1

Indeksimi i vargjeve shumëdimensionale... Në sistemin MATLAB, është zakon të ruhet çdo grup, pavarësisht nga dimensioni i tij, si një vektor kolone. Ky vektor formohet duke bashkuar (lidhur) kolonat e vargut origjinal.

Shembull.
Sistemi MATLAB ruan grupin A

A =

si vektor i kolonës tjetër

2
4
3
6
2
0
9
8
1

Kur aksesoni grupin A me një indeks të vetëm, kjo kolonë vektoriale aksesohet drejtpërdrejt. Qasja A (3) i referohet vlerës së tretë në kolonë; Dhe (7) - në të shtatën e kështu me radhë.

Nëse numri i indekseve të grupeve është më i madh se 1, atëherë MATLAB llogarit indeksin në kolonën e ruajtjes duke përdorur vlerat e dimensioneve të grupit. Nëse grupi dydimensional A ka një madhësi, ku d1 është numri i rreshtave dhe d2 është numri i kolonave, atëherë për elementin me numrin (i, j) pozicioni i tij në vektorin e ruajtjes përcaktohet si (j -1) * d1 + i.

Shembull

Për artikullin A (3, 2), MATLAB llogarit pozicionin tjetër në vektorin e ruajtjes (2-1) * 3 + 3 = 6. Artikulli numër 6 korrespondon me vlerën 0.
Kjo metodë e ruajtjes dhe skema e indeksit zbatohen gjithashtu për vargjet shumëdimensionale. Në këtë rast, MATLAB përdor një skemë bashkimi të faqezuar për të krijuar një kolonë ruajtjeje.
Përdorimi i një indeksi të vetëm rezulton në një referencë të drejtpërdrejtë me vektorin e ruajtjes.
Nëse specifikohen dy indekse (i, j), atëherë MATLAB llogarit pozicionin siç përshkruhet më sipër, dhe vetëm për faqen e parë të një grupi shumëdimensional dhe me kusht që këto indekse të jenë brenda intervalit të dimensioneve të grupit origjinal.
Nëse specifikohen më shumë se dy indekse, skema e indeksimit bëhet më komplekse. Nëse katër indekse (i, j, k, l) janë dhënë për një grup katërdimensional me madhësi d1xd2xd3xd4, atëherë pozicioni i elementit në vektorin e ruajtjes llogaritet si më poshtë
s = (l-1) (d3) (d2) (d1) + (k-1) (d2) (d1) + (j-1) (d1) + i.
Formula e përgjithshme për pozicionin e një elementi në vektorin e ruajtjes që korrespondon me një element (j1 j2 ... jn-1 jn) të një grupi n-dimensionale me madhësi d1xd2xd3x ... xdn ka formën
s = (jn-1) (dn-1) (dn-2) ... (d1) + (jn-1-1) (dn-2) ... (d1) + ... + (j2- 1) (d1) + j1.

Shembull

Konsideroni një grup shumëdimensional 5x4x3x2 C. Në fig. 3.2 tregon formatet e ekranit dhe ruajtjes.

Prodhimi në ekran Mënyra e ruajtjes
faqe (1,1) =
1
4 3 5
1 7 8
6 3 2
1 5 9
2 7 5
6 2
4
2
7 1 9
0 0 5
9 4 2
1 8 5

Të gjitha të dhënat MatLab i përfaqëson në formën e vargjeve. Është shumë e rëndësishme të kuptohet saktë se si të përdoren vargje. Pa këtë, puna efektive në MatLab është e pamundur, në veçanti, grafiku, zgjidhja e problemeve në algjebër lineare, përpunimi i të dhënave, statistikat dhe shumë të tjera. Llogaritjet me vektorë janë përshkruar në këtë nënseksion.

Një grup është një koleksion i renditur dhe i numëruar i të dhënave homogjene. Vargu duhet të ketë një emër. Vargjet ndryshojnë në numrin e dimensioneve ose dimensioneve: njëdimensionale, dydimensionale, shumëdimensionale. Artikujt aksesohen duke përdorur një indeks. Në MatLab, numërimi i elementeve të grupit fillon nga një. Kjo do të thotë që indekset duhet të jenë më të mëdha ose të barabarta me një.

Është e rëndësishme të kuptohet se një vektor, vektor rreshti ose matricë janë objekte matematikore, dhe vargjet njëdimensionale, dydimensionale ose shumëdimensionale janë mënyra për të ruajtur ato objekte në një kompjuter. Gjatë gjithë sa vijon, fjalët vektor dhe matricë do të përdoren nëse vetë objekti është me më shumë interes sesa mënyra se si ruhet. Një vektor mund të shkruhet në kolonë (vektor kolone) dhe në rresht (vektor rreshti). Vektorët e kolonave dhe vektorët e rreshtave shpesh do të referohen thjesht si vektorë, do të bëhet një dallim në rastet kur mënyra se si ruhet vektori në MatLab është e rëndësishme. Vektorët dhe matricat shënohen me shkronja të pjerrëta, dhe vargjet përkatëse me font të drejtë monospace, për shembull: "vektor a përmbahet në grupin a "," shkruani matricën R në grupin r ".

Futja, mbledhja dhe zbritja e vektorëve

Le të fillojmë të punojmë me vargje me një shembull të thjeshtë - duke llogaritur shumën e vektorëve:
, .

Përdorni vargjet a dhe b për të ruajtur vektorët. Futni grupin a në vijën e komandës, duke përdorur kllapa katrore dhe duke i ndarë elementet vektoriale me pikëpresje:

»A =
a =
1.3000
5.4000
6.9000

Meqenëse shprehja e futur nuk plotësohet me një pikëpresje, paketa MatLab nxori automatikisht vlerën e ndryshores a. Futni tani vektorin e dytë, duke shtypur ekranin

"B =;

Shenja + përdoret për të gjetur shumën e vektorëve. Llogaritni shumën, shkruani rezultatin në grupin c dhe nxirrni elementet e tij në dritaren e komandës:

»C = a + b
c =
8.4000
8.9000
15.1000

Zbuloni dimensionin dhe madhësinë e grupit a duke përdorur funksionet e integruara ndims dhe madhësia:

»Ndims (a)
ans =
2
»Madhësia (a)
ans =
3 1

Pra vektori a ruhet në një grup tre-nga-një dy-dimensionale a (një vektor kolone me tre rreshta dhe një kolonë). Operacione të ngjashme mund të bëhen për vargje. b dhe c... Meqenëse numrat në paketën MatLab përfaqësohen në formën e një grupi dydimensional një nga një, kur mblidhen vektorë, përdoret e njëjta shenjë plus si për mbledhjen e numrave.

Ju futni një vektor vargu brenda kllapave katrore, por ndani artikujt me hapësira ose presje. Veprimet e mbledhjes, zbritjes dhe llogaritjes së funksioneve elementare nga vektorët e rreshtave kryhen në të njëjtën mënyrë si me vektorët e kolonave, rezultati është një vektor rreshti me të njëjtën madhësi si ato origjinale. Për shembull:

»S1 =
s1 =
3 4 9 2
»S2 =
s1 =
5 3 3 2
»S3 = s1 + s2
s3 =
8 7 12 4

Vërejtje 1

Nëse dimensionet e vektorëve ndaj të cilëve zbatohet mbledhja ose zbritja nuk përputhen, lëshohet një mesazh gabimi.

Natyrisht, shenja minus duhet të përdoret për të gjetur ndryshimin midis vektorëve; me shumëzim, situata është disi më e ndërlikuar.
Futni dy vektorë rreshtash:

"V1 =;
"V2 =;

* Operacioni (mos futni një hapësirë ​​midis pikës dhe yllit!) Rezulton në shumëzimin elementar të vektorëve me të njëjtën gjatësi. Rezultati është një vektor me elementë të barabartë me produktin e elementeve përkatës të vektorëve origjinal:

"U = v1. * V2
u =
14 -15 -24 9

^ Përdoret për të kryer fuqizimin sipas elementeve:

»P = v1. ^ 2
p =
4 9 16 1

Eksponenti mund të jetë një vektor me të njëjtën gjatësi si ai i ngritur në fuqi. Në këtë rast, çdo element i vektorit të parë ngrihet në një fuqi të barabartë me elementin përkatës të vektorit të dytë:

»P = vl.^ V2
P =
128.0000 -243.0000 0.0002 1.0000

Ndarja e elementeve përkatës të vektorëve me të njëjtën gjatësi kryhet duke përdorur operacionin. /

»D = v1./v2
d =
0.2857 -0.6000 -0.6667 0.1111

Ndarja e anasjelltë në drejtim të elementeve (ndarja e elementeve të vektorit të dytë me elementët përkatës të të parit) kryhet duke përdorur veprimin. \

"Dinv = vl. \ V2
dinv =
3.5000 -1.6667 -1.5000 9.0000

Pra, pika në MatLab përdoret jo vetëm për të futur thyesat dhjetore, por edhe për të treguar se ndarja ose shumëzimi i vargjeve me të njëjtën madhësi duhet të kryhet element pas elementi.
Veprimet me një vektor dhe një numër konsiderohen gjithashtu nga ana elementare. Shtimi i një vektori dhe një numri nuk rezulton në një mesazh gabimi. MatLab shton një numër në secilin element të vektorit. E njëjta gjë vlen edhe për zbritjen:

"V =;
"S = v + 1.2
s =
5.2000 6.2000 9.2000 11.2000
»R = 1,2 - v
r =
-2.8000 -4.8000 -6.8000 -8.8000
»R1 = v - 1.2
r1 = 2,8000 4,8000 6,8000 8,8000

Ju mund të shumëzoni një vektor me një numër si në të djathtë ashtu edhe në të majtë:

"V =;
»P = v * 2
p =.
8 12 16 20
»Pi = 2 * v
pi =
8 12 16 20

Ju mund të ndani një vektor me një numër duke përdorur shenjën /:

»P = v / 2
p =
2 3 4 5

Përpjekja për të pjesëtuar një numër me një vektor rezulton në një mesazh gabimi:

»P = 2 / v
??? Gabim duke përdorur ==> /
Dimensionet e matricës duhet të pajtohen.

Nëse dëshironi të ndani një numër me çdo element të vektorit dhe ta shkruani rezultatin në një vektor të ri, atëherë duhet të përdorni ./

»W =;
»D = 12./w
d =
3 6 2

Të gjitha veprimet e mësipërme zbatohen si për vektorët e rreshtave ashtu edhe për vektorët e kolonave.
Veçoria e MatLab për të përfaqësuar të gjitha të dhënat si vargje është shumë e përshtatshme. Le të kërkohet, për shembull, të llogaritet vlera e funksionit sin për të gjithë elementët e vektorit me(i cili ruhet në grupin c) dhe shkruajeni rezultatin në vektor d. Për të marrë një vektor d mjafton të përdorni një operator caktimi:

»D = mëkat (c)
d =
0.8546
0.5010
0.5712

Pra, funksionet elementare të ndërtuara në MatLab përshtaten me llojin e argumenteve; nëse argumenti është një grup, atëherë rezultati i funksionit do të jetë një grup me të njëjtën madhësi, por me elementë të barabartë me vlerën e funksionit nga elementët përkatës të grupit origjinal. Kontrolloni këtë me një shembull tjetër. Nëse duhet të gjeni rrënjën katrore të elementeve të një vektori d me një shenjë minus, atëherë mjafton të shkruani:

»Sqrt (-d)
ans =
0 + 0,9244i
0 + 0,7078i
0 + 0,7558i

Operatori i caktimit nuk u përdor, kështu që MatLab shkroi përgjigjen për ndryshoren standarde ans.

Funksioni i integruar i gjatësisë mund të përdoret për të përcaktuar gjatësinë e vektorëve të kolonës ose të vektorëve të rreshtave:

»Gjatësia (s1)
ans =
4

Vektorë të shumëfishtë kolonash mund të përbëhen nga një duke përdorur kllapa katrore dhe duke i ndarë vektorët e kolonës origjinale me një pikëpresje:

"V1 =;
"V2 =;
»V =
v =
1
2
3
4
5

Kllapat katrore përdoren gjithashtu për të lidhur vektorët e rreshtave, por vektorët e rreshtave të lidhur ndahen me hapësira ose presje:

"V1 =;
"V2 =;
»V =
v =
1 2 3 4 5

Puna me elemente vektoriale

Elementet e një vektori kolone ose vektori të rreshtit arrihen duke përdorur indeksin, të mbyllur në kllapa, pas emrit të grupit në të cilin është ruajtur vektori. Nëse midis variablave të mjedisit ka një varg v të përcaktuar nga një vektor rreshti

"V =;

pastaj për të nxjerrë, për shembull, elementin e katërt të tij, përdorni indeksimi:

»V (4)
ans =
8.2000

Shfaqja e një elementi të grupit në anën e majtë të operatorit të caktimit rezulton në një ndryshim në grup

"V (2) = 555
v =
1.3000 555.0000 7.4000 8.2000 0.9000

Vargje të reja mund të formohen nga elementet e grupit, për shembull

»U =
u =
7.4000
555.0000
1.3000

Për të vendosur elementë të caktuar të një vektori në një vektor tjetër në një rend të caktuar, përdorni indeksimi vektorial. Shkrimi në një grup w elementet e katërt, të dytë dhe të pestë v bëhet si më poshtë:

"Ind =;
»W = v (ind)
w =
8.2000 555.0000 0.9000

MatLab ofron një mënyrë të përshtatshme për t'iu referuar blloqeve të elementeve të vektorit sekuencial të kolonës ose të rreshtit. Kjo është ajo që indeksimi duke përdorur një shenjë dy pika. Supozoni në një grup w që korrespondon me një vektor rresht prej shtatë elementësh, ju duhet të zëvendësoni elementët 2 deri në 6 me zero. Indeksimi i zorrës së trashë ju lejon të zgjidhni lehtësisht dhe vizualisht problemin:

»W =;
»W (2: 6) = 0;
»W
w =
0.1000 0 0 0 0 0 9.8000

Caktimi w (2: 6) = 0 është ekuivalent me një sekuencë komandash
w (2) = 0; w (3) = 0; w (4) = 0; w (5) = 0; w (6) = 0.
Indeksimi i dy pikave është i dobishëm kur nxjerr një pjesë të një sasie të madhe të dhënash në një grup të ri:

»W -;
»Wl = w (3: 5)
wl =
3.3000 5.1000 2.6000

Bëni një grup w2 që përmban w elementë të ndryshëm nga i katërti. Në këtë rast, është e përshtatshme të përdorni lidhjen e zorrës së trashë dhe të vargut:

»W2 =
w2 =
0.1000 2.9000 3.3000 2.6000 7.1000 9.8000

Elementet e grupit mund të përfshihen në shprehje. Gjetja, për shembull, e mesatares gjeometrike të elementeve të grupit u, mund të bëhet si kjo:

»Gm = (u (l) * u (2) * u (3)) ^ (l / 3)
gm =
17.4779

Sigurisht, kjo metodë nuk është shumë e përshtatshme për vargje të gjata. Për të gjetur mesataren gjeometrike, është e nevojshme të shtypni të gjithë elementët e grupit në formulë. Ka shumë funksione të veçanta në MatLab që lehtësojnë llogaritjet e tilla.

Aplikimi i funksioneve të përpunimit të të dhënave te vektorët

Shumëzimi i elementeve të një vektori kolone ose një vektori rreshti kryhet duke përdorur funksionin prod:

"Z =;
»P = prod (z)
p = 720

Funksioni shuma është për mbledhjen e elementeve të një vektori. Me ndihmën e tij, është e lehtë të llogaritet mesatarja aritmetike e elementeve të vektorit z:

»Shuma (z) / gjatësia (z)
ans =
3.5000

MatLab gjithashtu ka një mesatare të funksionit të veçantë për llogaritjen e mesatares aritmetike:

»Mesatarja (z)
ans =
3.5000

Për përcaktimin minimale dhe maksimale të elementeve vektoriale shërbejnë funksionet e integruara min dhe max:

»M1 = max (z)
m1 =
6
»M2 = min (z)
m2 =
1

Shpesh është e nevojshme të dihet jo vetëm vlera e elementit minimal ose maksimal në grup, por edhe indeksi i tij (numri rendor). Në këtë rast, funksionet e integruara min dhe max duhet të përdoren me dy argumente dalëse, për shembull

"= Min (z)
m =
1
k =
3

Si rezultat, ndryshores m do t'i caktohet vlera e elementit minimal të grupit z, dhe numri i elementit minimal do të futet në ndryshoren k.
Për informacion mbi mënyrat e ndryshme të përdorimit të funksioneve, shkruani help dhe emrin e funksionit në vijën e komandës. MatLab do të shfaqë në dritaren komanduese të gjitha mënyrat e mundshme për të thirrur funksionin me shpjegime shtesë.
Funksionet bazë për të punuar me vektorë përfshijnë një funksion për renditjen e një vektori në rend rritës të elementeve të tij, renditje.

"R =;
"R = rendit (r)
R =

Është e mundur të renditni vektorin në rend zbritës duke përdorur të njëjtin funksioni i renditjes:

"R1 = -rendi (-r)
R1 =
9.4000 7.1000 1.3000 0.8000 -2.3000 -5.2000

Renditja e elementeve në rend rritës të moduleve të tyre kryhet duke përdorur funksionin abs:

»R2 = renditje (abs (r))
R2 =
0.8000 1.3000 2.3000 5.2000 7.1000 9.4000

Thirrja e renditjes me dy argumente dalëse rezulton në një grup indeksesh që përputhen me elementët e grupit të renditur dhe grupit origjinal:

"= Rendit (r)
rs =
-5.2000 -2.3000 0.8000 1.3000 7.1000 9.4000
ind =
3 2 5 6 4 1

Mësimi numër 13.

Vargjet shumëdimensionale

    Kuptimi i vargjeve shumëdimensionale

    Përdorimi i operatorit ":" në vargje shumëdimensionale

    Qasja në një element të vetëm të një grupi shumëdimensional

    Heqja e dimensionit në një grup shumëdimensional

    Krijimi i faqeve të mbushura me konstante dhe numra të rastit

    Kombinimi i vargjeve

    Llogaritja e numrit të dimensioneve të një vargu dhe përcaktimi i madhësisë së dimensioneve

    Permutacionet e dimensioneve të vargjeve

    Zhvendosja e dimensioneve të vargjeve

    Heqja e dimensioneve të njësisë

Në këtë mësim, ne do të prekim çështjet që lidhen me llojet më komplekse të të dhënave, të cilat përfshijnë vargje shumëdimensionale.

Kuptimi i vargjeve shumëdimensionale

Në MATLAB, një grup dydimensional është një rast i veçantë i një grupi shumëdimensional. Vargjet shumëdimensionale karakterizohen nga dimensione më të mëdha se dy. Vargjeve të tilla mund t'u jepet një interpretim vizual. Pra, një matricë (matricë dydimensionale) mund të shkruhet në një fletë letre në formën e rreshtave dhe kolonave, të përbërë nga elementë matricë. Pastaj një fletore me fletë të tilla mund të konsiderohet një grup tredimensional, një raft në një dollap me fletore - një grup katërdimensional, një dollap me shumë rafte - një grup pesë-dimensional, etj. Në këtë libër, praktikisht askund, me përjashtim të këtij seksioni, nuk do të merremi me vargje, dimensionet e të cilave janë mbi dy, por megjithatë është e dobishme të dimë për aftësitë e MATLAB në drejtim të përcaktimit dhe përdorimit të vargjeve shumëdimensionale.

Në literaturën tonë, konceptet "madhësia" dhe "dimensioni" i vargjeve janë pothuajse sinonime. Megjithatë, ato kanë kuptime qartësisht të ndryshme në këtë libër, si në dokumentacionin dhe literaturën e MATLAB. Nën dimension vargje nënkuptojnë numrin e dimensioneve në paraqitjen hapësinore të vargjeve, dhe nga madhësia - numrin e rreshtave dhe kolonave (mxn) në çdo dimension të grupit.

Përdorimi i operatorit ":" në vargje shumëdimensionale

Me specifikimin e zakonshëm të vargjeve (duke përdorur pikëpresjen ";"), numri i rreshtave (vijave) të grupit është 1 më shumë se numri i karaktereve ":", por grupi mbetet dydimensional. Operatori ":" (colon) ju lejon të kryeni lehtësisht operacione për të rritur dimensionin e vargjeve. Le të japim një shembull të formimit të një grupi tredimensional duke shtuar një faqe të re. Supozoni se kemi një grup fillestar dydimensional M me madhësi 3x3:

»M =

M =

1 2 3

4 5 6

7 8 9

Për të shtuar një faqe të re me të njëjtën madhësi, mund ta zgjeroni M si më poshtë:

»M (:.:. 2) =

M (:.:. L) =

1 2 3

4 5 6

7 8 9

M (:.:. 2) =

10 11 12

13 14 15

16 17 18

Le të shohim se çfarë përmban grupi M tani kur e specifikoni në mënyrë eksplicite:

»M

М (:,:. 1) =

1 2 3

4 5 6

7 8 9

M (:.:. 2) =

10 11 12

13 14 15

16 17 18

Siç mund ta shihni, numrat në shprehjet M (:.:, 1) dhe M (:,:, 2) tregojnë numrin e faqes.

Qasja në një element të vetëm të një grupi shumëdimensional

Për të thirrur elementin qendror fillimisht të faqes së parë dhe më pas të faqes së dytë, duhet të shkruani shprehjet e mëposhtme:

»M (2.2.1)

Përgjigje =

»MC2.2.2)

Përgjigje =

Kështu, vargjet shumëdimensionale përdorin të njëjtin rregull indeksimi si vargjet njëdimensionale dhe dydimensionale. Një element arbitrar, për shembull, i një grupi tredimensional specifikohet si M (1 .j.k), ku 1 është numri i rreshtit, j është numri i kolonës dhe k është numri i faqes. Ky element mund të shfaqet, ose mund t'i caktoni një vlerë të dhënë x: M (1, j, k) = x.

Heqja e dimensionit në një grup shumëdimensional

Ne kemi vërejtur tashmë mundësinë e heqjes së kolonave individuale duke u caktuar atyre vlerat e një vektori bosh kolone. Nuk është e vështirë të zgjerohet kjo teknikë në faqe dhe, në përgjithësi, në dimensionet e një grupi shumëdimensional. Për shembull, faqja e parë e grupit M që rezulton mund të fshihet si më poshtë:

»M (:.:. 1) =

M =

10 11 12

13 14 15

16 17 18

Është e lehtë të shihet se në këtë grup ka mbetur vetëm faqja e dytë dhe se dimensioni i grupit është zvogëluar me 1 - ai është bërë dydimensional.

Krijimi i faqeve të mbushura me konstante dhe numra të rastit

Nëse pas shenjës së caktimit ka një konstante numerike, atëherë pjesa përkatëse e grupit do të përmbajë elementë që përmbajnë këtë konstante. Për shembull, le të krijojmë një grup nga grupi M (shih shembullin e mësipërm), në të cilin faqja e dytë përmban ato:

»M (:.: .. 2) = 1

M (:.:, 1) =

10 11 12

13 14 15

16 17 18

M (:.:. 2) =

1 1 1

1 1 1

1 1 1

Tani le të zëvendësojmë faqen e parë të grupit me një faqe me elemente zero:

»M (:.:. 1) = 0

M (:.:. 1) =

0 0 0

0 0 0

0 0 0

M (:.:, 2) =

1 1 1

1 1 1

1 1 1

Përdorimi i funksioneve njës, zero, rand dhe randn

Funksionet one (krijoni vargje me njëshe), zero (krijoni vargje me elemente zero) dhe rand ose randn (krijoni vargje me numra të rastësishëm me shpërndarje uniforme dhe normale, përkatësisht) mund të përdoren gjithashtu për të krijuar vargje shumëdimensionale. Shembujt janë dhënë më poshtë:

»E = ato (3.3.2)

E (:.:. 1) =

1 1 1

1 1 1

1 1 1

E (:.:, 2) =

1 1 1

1 1 1

1 1 1

»Z = zero (2,2,3) Z (:,:. L) =

Z (:.:. 2) =

Z (:.:, 3) =

»R = randn (3,2.2) R (:.:. L) =

1.6656-1.1465

0.1253 1.1909

0.2877 1.1892

R (:.:, 2) =

0.0376-0.1867

0.3273 0.7258

0.1746 -0.5883

Këta shembuj janë mjaft të qartë dhe nuk kërkojnë ndonjë koment të veçantë. Vini re, megjithatë, se është e lehtë të përcaktosh madhësinë e vargjeve për çdo dimension. Përveç kësaj, duhet të theksohet se nëse të paktën një dimension i grupit është i barabartë me zero, atëherë grupi do të jetë bosh:

»A = randn (3,3,3,0)

A =

Vargu bosh: 3-bu-3-bu-3-nga-0

Siç mund ta shihni nga ky shembull, një grup bosh kthehet me një koment të përshtatshëm.

Kombinimi i vargjeve

Për të krijuar vargje shumëdimensionale, përdorni funksionin special të lidhjes cat të përshkruar më herët për matricat:

    cat (DIM, A, B) - kthen rezultatin e kombinimit të dy vargjeve A dhe B përgjatë dimensionit DIM;

    cat (2.A.B) - kthen grupin [A.B], në të cilin rreshtat janë të lidhura (lidhja horizontale);

    cat (1, A.B) - kthen një grup [A: B], në të cilin kolonat janë të lidhura (lidhja vertikale);

    B = cat (DIM.Al, A2, ...) - kombinon grupin e vargjeve hyrëse Al, A2, ... përgjatë dimensionit DIM.

Funksionet cat (DIM, C (:)) dhe cat (DIM.C.FIELD) ofrojnë, përkatësisht, lidhjen (bashkimin) e qelizave të një grupi qelizash (shih mësimin 15) ose strukturat e një grupi strukturash (shih mësimin 14 ) që përmban matrica numerike në një matricë të vetme. Më poshtë janë shembuj të përdorimit të funksionit cat:

»M1 =

»M2 =

M2 =

"Catd.Ml.M2)

Përgjigje =

5 B

»Mace (2.Ml.M2)

ans =

1 2 5 6

3 4 7 8

»M-cat (3.Ml.M2) M (:,:. L) =

М (:,:, 2) =

Puna me dimensionet

Llogaritja e numrit të dimensioneve të një vargu

Funksioni ndims (A) kthen dimensionin e grupit A (nëse është më i madh ose i barabartë me dy). Por nëse argumenti hyrës është një grup Java ose një grup vargjesh Java, atëherë pavarësisht nga dimensioni i grupit, ky funksion do të kthejë 2. Shembulli i mëposhtëm ilustron përdorimin e funksionit ndims:

»M = rand (2: 3: 4: 5):

»Ndims (M)

Përgjigje =

4
Llogaritja e madhësisë së dimensionit të një vargu

Për të llogaritur madhësinë e çdo dimensioni të një grupi, përdorni funksionin e madhësisë:

    M = madhësia (A.DIM) kthen madhësinë e dimensionit të specifikuar nga skalari DIM si një vektor rreshti me madhësi 2. Për një grup dy-dimensionale ose njëdimensionale A, madhësia (Al) kthen numrin e rreshtave dhe madhësia (A, 2) numri i kolonave;

Për vargjet N-dimensionale A për n> 2 madhësia (A) kthen një vektor të rreshtit N-dimensional që pasqyron faqosjen e grupit, komponenti i fundit i këtij vektori është N. Vektorit i mungojnë të dhënat për dimensionet e njësisë (ato ku vektori i rreshtit ose vektori i kolonës, pra madhësia (A, DIM) == l). Një përjashtim janë grupet Java N-dimensionale të javaarray, të cilat kthejnë madhësinë e grupit të nivelit më të lartë.

Në përgjithësi, kur madhësia është një javaarray si hyrje, numri i kolonave të kthyera është gjithmonë 1, dhe numri i rreshtave (rreshtave) është i barabartë me madhësinë (gjatësinë) e javarray.

    Si ze (A) kthen madhësinë e dimensioneve të para N të grupit A;

    D = madhësia (A), për një matricë mxn A kthen një vektor rreshti me dy elementë, në të cilin komponenti i parë është numri i rreshtave m, dhe komponenti i dytë është numri i kolonave n;

    Madhësia (A) kthen numrin e rreshtave dhe kolonave në parametra të ndryshëm të daljes (argumentet e daljes në terminologjinë MATLAB).

Permutacionet e dimensioneve të vargjeve

Nëse përfaqësojmë një grup shumëdimensional në formën e faqeve, atëherë ndërrimi i tyre është një ndërrim i dimensioneve të grupit. Për një grup dy-dimensionale, ndërrimi shpesh do të thotë transpozim- zëvendësimi i rreshtave me kolona dhe anasjelltas. Funksionet e mëposhtme përgjithësojnë transpozimin e matricës për rastin e vargjeve shumëdimensionale dhe ofrojnë ndërrim të dimensioneve të vargjeve shumëdimensionale:

    Permute (A, ORDER) - permuton dimensionet e vargut A në rendin e përcaktuar nga vektori i ndërrimit RENDI. Vektori ORDER është një nga permutacionet e mundshme të të gjithë numrave të plotë nga 1 në N, ku N - dimensioni i grupit A;

    ipermuteCA, ORDER) - e kundërta e permute: permute (përmute (A. ORDER), ORDER) = A

Më poshtë janë shembuj të përdorimit të këtyre funksioneve dhe funksionit të madhësisë:

»A =:

"B =;

"C =;

»D = mace (3.A, B.C)

D (:,:, l) =

9 10

11 12

»Madhësia (D)

Përgjigje =

2 2 3

»Madhësia (përmute (D.))

ans =

3 2 2

»Madhësia (ipermute (D.))

Përgjigje =

2 2 3

"Ipermute (përmute (D,),)

Përgjigje (:.:, 2) =

ans (:.:, 3) =

9 10

11 12

Zhvendosja e dimensioneve të vargjeve

Zhvendosja e dimensioneve zbatohet nga funksioni shiftdim:

    B = shiftdim (X, N) - zhvendosni dimensionet në grupin X me N. Nëse M> 0, atëherë dimensionet e vendosura në të djathtë zhvendosen në të majtë dhe N dimensionet e para në të majtë shemben deri në fund. të grupit, domethënë, dimensionet lëvizin në një rreth në drejtim të kundërt të akrepave të orës. Nëse M<0, сдвиг выполняется вправо, причем N первых размерностей, сдвинутых вправо, замещаются единичными размерностями;

    Shiftdim (X) - Rikthen grupin B me të njëjtin numër elementësh si grupi X, por me dimensionet fillestare të njësisë të hequra. Parametri i daljes NSHIFTS tregon numrin e dimensioneve të hequra. Nëse X është skalar, funksioni nuk ndryshon X, B, NSHIFTS.

Shembulli i mëposhtëm ilustron përdorimin e funksionit shiftdim:

"A = randn (1.2.3,4):

»= Shiftdim (A)

B (:.:. L) =

2.1707-1.01060.5077

0.05920.6145 1.6924

B (:.:, 2) =

0.5913 0.3803 -0.0195

0.6436-1.0091-0.0482

B (:.:. 3) =

0.0000 1.0950 0.4282

0.3179-1.87400.8956

B (:.:, 4) =

0.7310 0.0403 0.5689

0.5779 0.6771 -0.2556

Heqja e dimensioneve të njësisë

Squeeze (A) kthen një grup me të gjitha dimensionet e njësive të hequra. Njësia është dimensioni në të cilin madhësia (A. Dim) == 1. Por nëse

A është një grup njëdimensional ose dydimensional (matricë ose vektor), atëherë funksioni do të kthejë të njëjtin grup A. Shembulli i mëposhtëm shpjegon se si funksionon squeeze:

»A = randn (1.2.1.3.1):

»B = shtrydh (A)

0.6145 1.6924 -0.6436

0.5077 0.5913 0.3803

Vini re se grupi 5-dimensional A është konvertuar në një grup 2-nga-3.

Çfarë të re kemi mësuar?

Në këtë tutorial, mësuam:

    Krijoni vargje shumëdimensionale.

    Përdorni operatorin ":" në vargje shumëdimensionale.

    Qasja në elemente individuale të vargjeve shumëdimensionale.

    Hiq dimensionet nga një grup shumëdimensional.

    Krijoni vargje të mbushura me konstante dhe numra të rastit.

    Lidhni vargje.

    Llogaritni numrin e dimensioneve në një grup dhe përcaktoni madhësinë e secilit dimension.

    Riorganizoni, zhvendosni dhe fshini dimensionet e njësisë në vargje shumëdimensionale.

Vargjet janë objektet kryesore në sistem MATLAB : vetëm në versionet 4.xvargjeve njëdimensionale- vektorët - dhe vargjet dydimensionale - matricat; në versionin 5.0 është e mundur të përdoren vargje shumëdimensionale - tensorë. Funksionet për formimin e vargjeve dhe matricave, operacionet në matrica, matricat speciale brenda sistemit janë përshkruar më poshtë. Versioni i MATLAB 4.x.

Formimi i vargjeve të një lloji të veçantë

  • ZEROS - duke formuar një grup me zero
  • NJESHT - duke formuar një grup njësish
  • SYRI - formimi i një matrice njësi
  • RAND - formimi i një grupi elementësh të shpërndarë sipas një ligji uniform
  • RANDN - formimi i një grupi elementësh të shpërndarë sipas ligjit normal
  • KRYQI - produkt vektorial
  • KRON - formimi i produktit tensor
  • LINSPACE - formimi i një grupi linear nyjesh të barabarta
  • LOGSPACE - formimi i nyjeve të rrjetës logaritmike
  • MESHGRID - formimi i nyjeve të rrjetave dydimensionale dhe tredimensionale
  • : - formimi i vektorëve dhe nënmatricave

Operacionet e matricës

  • DIAG - formimi ose nxjerrja e diagonaleve të matricës
  • TRIL - formimi i një matrice trekëndore më të ulët (vargu)
  • TRIU - formimi i një matrice trekëndore të sipërme (vargu)
  • FLIPR - rrotullimi i matricës rreth boshtit vertikal
  • FLIPUD - rrotullimi i matricës rreth boshtit horizontal
  • ROT90 - rrotullimi i matricës me 90 gradë
  • RIFORMA - transformimi i madhësive të matricës

Matrica speciale

  • KOMPANI është matrica shoqëruese e polinomit karakteristik
  • HADAMARD - Matrica Hadamard
  • HANKEL - Matrica Hankel
  • HILB, INVHILB - Matrica e Hilbertit
  • MAGJIKE - katror magjik
  • PASCAL - Matrica e Paskalit
  • ROSSER - matrica Rosser
  • TOEPLITZ - Serë matricë (matrica Toeplitz)
  • VANDER - Matrica Vandermonde
  • WILKINSON - Matrica Wilkinson

CONV, DECONV

Konvolucioni i vargjeve njëdimensionale

Sintaksë:

Z = konvertim (x, y)
= deconv (z, x)

Përshkrim:

Nëse jepet vargjeve njëdimensionalex dhe y me gjatësi m = gjatësia (x) dhe n = gjatësia (y), përkatësisht, atëherë konvolucioni z është një grup njëdimensional me gjatësi m + n -1, elementi k i të cilit përcaktohet me formulën

Funksioni z = conv (x, y) njehson konvolucionin z të dy vargjeve njëdimensionale x dhe y.

Duke i konsideruar këto vargje si mostra të dy sinjaleve, ne mund të formulojmë teoremën e konvolucionit në formën e mëposhtme:
Nëse X = fft () dhe Y = fft () janë transformime Furiere të përputhura me madhësinë e sinjaleve x dhe y, atëherë relacioni conv (x, y) = ifft (X. * Y) është i vërtetë.

Me fjalë të tjera, konvolucioni i dy sinjaleve është i barabartë me shumëzimin e transformimeve Furier të këtyre sinjaleve.

Funksioni = deconv (z, x) kryen inversin e operacionit të konvolucionit. Ky operacion është i barabartë me përcaktimin e përgjigjes së impulsit të filtrit. Nëse relacioni z = conv (x, y) është i vërtetë, atëherë q = y, r = 0.

Funksionet e ndërlidhura: Kutia e mjeteve për përpunimin e sinjalit.

1. Udhëzuesi i përdorimit të kutisë së veglave të përpunimit të sinjalit. Natick: The MathWorks, Inc., 1993.

Vendosja e shabllonit të matricave dhe vektorëve (Matrica ...)

Operacioni Matrica ... ofron përkufizimin e vektorëve ose matricave Siç e dini, një matricë është një objekt i dhënë me emrin e tij në formën e një grupi të dhënash MathCAD përdor vargjeve njëdimensionale- vektorët dhe matricat dydimensionale - të duhura

Një matricë karakterizohet nga numri i rreshtave (Rreshtave) dhe numri i kolonave (Kollonave). Kështu, numri i elementeve të një matrice ose dimensioni i saj është i barabartë me rreshtat x kolonat Elementet e matricës mund të jenë numra, konstante, variabla dhe madje edhe shprehje matematikore. Rrjedhimisht, matricat mund të jenë numerike dhe simbolike

Nëse përdorni operacionin Matrix ..., atëherë një dritare e vogël do të shfaqet në dritaren aktuale, duke ju lejuar të vendosni dimensionin e vektorit ose matricës (shih Fig. 515 në të djathtë) Për ta bërë këtë, duhet të specifikoni numri i rreshtave Rreshtat dhe numri i kolonave Kolonat Duke shtypur tastin Enter ose duke drejtuar miun drejt imazhit të tastit Futni në dritare, mund të nxirrni një shabllon të një matrice ose vektori (vektori ka një nga parametrat e dimensionit të barabartë me 1)

Shablloni përmban kllapa mbyllëse dhe drejtkëndësha të vegjël të errët që tregojnë se ku duhet të futen vlerat (numerike ose simbolike) për elementët e një vektori ose matrice. Një nga drejtkëndëshat mund të aktivizohet (duke e shënuar me kursorin e miut). Për më tepër, ajo është e vendosur në një cep. Kjo tregon që vlerat e elementit përkatës do të futen në të. Duke përdorur tastet me shigjeta, mund të lëvizni horizontalisht nëpër të gjithë drejtkëndëshat dhe të futni të gjithë elementët e vektorit ose matricës.


Oriz. 5.15 Prodhimi i shablloneve të vektorit dhe matricës dhe mbushja e tyre

Ndërsa futja e elementeve të vektorit ose matricës është në proces e sipër, shabllonet boshe shfaqen pa asnjë koment. Megjithatë, nëse përfundoni futjen përpara se shabllonet të mbushen plotësisht, sistemi do të shfaqë një mesazh gabimi - shablloni bosh do të bëhet i kuq. Dalja e një matrice joekzistente ose një tregues i gabuar i indekseve të saj shfaqet gjithashtu me të kuqe.

Nëse përdorni operacionin Insert me një shabllon matricë të konkluduar tashmë, matrica zgjerohet dhe madhësia e saj rritet. Butoni Fshi ju lejon të hiqni një shtrirje matrice duke fshirë një rresht ose kolonë prej saj.

Çdo element i matricës karakterizohet nga një ndryshore e indeksuar, dhe pozicioni i tij në matricë tregohet nga dy indekse: njëri tregon numrin e rreshtit, tjetri tregon numrin e kolonës. Për të vendosur një variabël të indeksuar, fillimisht duhet të futni emrin e ndryshores dhe më pas të shkoni te grupi i indekseve duke shtypur tastin që fut karakterin]. Së pari tregohet indeksi i rreshtit dhe më pas indeksi i kolonës, i ndarë me presje. Në Fig. 5.14.

Një matricë e degjeneruar në një rresht ose një kolonë është një vektor. Elementet e tij janë variabla të indeksuar me një indeks. Kufiri i poshtëm për indekset përcaktohet nga vlera e ndryshores së sistemit ORIGIN. Zakonisht vlera e tij vendoset në 0 ose 1.

Artikujt kryesorë të lidhur