Windows.  Virus.  Bärbara datorer.  Internet.  Kontor.  Verktyg.  Förare

Beräkna antalet dimensioner för en array

Fungera ndims(A) returnerar dimensionen för array A (om den är större än eller lika med två). Men om inmatningsargumentet är en Java-array eller en array av Java-arrayer, kommer denna funktion att returnera 2 oavsett storleken på arrayen. Följande exempel illustrerar användningen av funktionen ndims:

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

> > ndims(M)

Svar =

Beräkna storleken på en matrisdimension

Använd funktionen för att beräkna storleken på varje dimension i arrayen storlek:

  • M = storlek(A.DIM) returnerar storleken på dimensionen specificerad av DIM-skalären som en radvektor av storlek 2. För en tvådimensionell eller endimensionell matris A returnerar storlek(A.l) antalet rader, en storlek(A, 2) returnerar antal kolumner;

För N-dimensionella arrayer A med n>2 storlek(A) returnerar en N-dimensionell radvektor som återspeglar arrayens sidorganisation, den sista komponenten i denna vektor är lika med N. Vektorn innehåller inte data om enhetsdimensioner ( de där radvektorn eller kolumnvektorn, dvs storlek(A,DIM)==l). Ett undantag är Javas N-dimensionella javaarray-arrayer, som returnerar storleken på den högsta nivån.

I allmänhet, när inmatningsargumentstorleken är en javaarray, är det returnerade antalet kolumner alltid 1, och antalet rader (rader) är lika med storleken (längden) på javaarrayen.

  • = storlek(A) returnerar storleken på de första N dimensionerna av array A;
  • D = storlek (A), för en mxn-matris A, returnerar en radvektor med två element där den första komponenten är antalet rader m, och den andra komponenten är antalet kolumner n;
  • = storlek(A) returnerar antalet rader och kolumner i olika utdataparametrar (utdataargument i MATLAB-terminologi) typ.

Permutationer av arraydimensioner

Om vi ​​föreställer oss en flerdimensionell array i form av sidor, så är deras permutation en permutation av arrayens dimensioner. För en tvådimensionell array betyder permutation ofta införlivande- ersätta rader med kolumner och vice versa. Följande funktioner generaliserar matristransponering till fallet med flerdimensionella arrayer och ger permutation av dimensionerna för flerdimensionella arrayer:

  • permutera (A, BESTÄLLNING)- arrangerar om dimensionerna för array A i den ordning som bestäms av permutationsvektorn ORDER. ORDER-vektorn är en av de möjliga permutationerna av alla heltal från 1 till N, där N är dimensionen av array A;
  • ipermute(A, ORDER)- operation invers för att permutera: permute(permute(A. ORDER), ORDER)=A

Nedan finns exempel på användningen av dessa funktioner och funktionen storlek:

> > A = [ 1 2: 3 4 ]:

> > B = [ 5 6 ; 78];

> > C = [9 10; 11 12 ];

> > D = cat(3 .A,B.C)

D(:,:, 1) =

1 2

3 4

9 10

11 12

> > storlek (D)

Svar =

2 2 3

> > storlek(permute(D.[ 3 2 1 ]))

Svar =

3 2 2

> > storlek(ipermute(D.[ 2 1 3 ]))

Lektion #13.

Flerdimensionella arrayer

    Konceptet med flerdimensionella arrayer

    Använda operatorn ":" i flerdimensionella arrayer

    Tillgång till ett enskilt element i en flerdimensionell array

    Ta bort en dimension i en flerdimensionell array

    Skapa sidor fyllda med konstanter och slumpmässiga tal

    Kombinera arrayer

    Beräkna antalet dimensioner för en array och bestämma storleken på dimensionerna

    Permutationer av arraydimensioner

    Förskjutning av arraydimensioner

    Ta bort enhetens mått

I den här lektionen kommer vi att beröra frågor relaterade till mer komplexa datatyper, som inkluderar flerdimensionella arrayer.

Konceptet med flerdimensionella arrayer

I MATLAB är en tvådimensionell array ett specialfall av en flerdimensionell array. Flerdimensionella arrayer kännetecknas av dimensioner större än två. Sådana arrayer kan ges en visuell tolkning. Således kan en matris (tvådimensionell array) skrivas på ett pappersark i form av rader och kolumner som består av matriselement. Då kan en anteckningsbok med sådana pappersark betraktas som en tredimensionell array, en hylla i en garderob med anteckningsböcker kan betraktas som en fyrdimensionell array, en garderob med många hyllor kan betraktas som en femdimensionell array, etc. I Den här boken, nästan ingenstans, förutom det här avsnittet, kommer vi att ta itu med arrayer, dimensionen som är högre än två, men det är fortfarande användbart att veta om MATLAB:s möjligheter när det gäller att specificera och använda flerdimensionella arrayer.

I vår litteratur är begreppen "storlek" och "dimension" av arrayer nästan synonyma. De har dock tydligt olika betydelser i denna bok och i MATLAB:s dokumentation och litteratur. Under dimensionera arrayer hänvisar till antalet dimensioner i den rumsliga representationen av arrayer, och by storlek - antal rader och kolumner (mxn) i varje matrisdimension.

Använda operatorn ":" i flerdimensionella arrayer

När du anger arrayer normalt (med semikolon ";") är antalet rader (linjer) i arrayen 1 större än antalet ":"-tecken, men arrayen förblir tvådimensionell. Operatorn ":" (kolon) gör det enkelt att utföra operationer för att öka storleken på arrayer. Låt oss ge ett exempel på att bilda en tredimensionell array genom att lägga till en ny sida. Låt oss ges en initial tvådimensionell array M av storleken 3x3:

» M=

M =

1 2 3

4 5 6

7 8 9

För att lägga till en ny sida med samma storlek kan du expandera M enligt följande:

» M(:.:.2)=

M(:.:.l) =

1 2 3

4 5 6

7 8 9

M(:.:.2) =

10 11 12

13 14 15

16 17 18

Låt oss se vad arrayen M nu innehåller när den är explicit specificerad:

»M

M(:,:.1)=

1 2 3

4 5 6

7 8 9

M(:.:.2) =

10 11 12

13 14 15

16 17 18

Som du kan se betyder siffrorna i uttrycken M(:.:, 1) och M(:,: ,2) sidnumret.

Tillgång till ett enskilt element i en flerdimensionell array

För att anropa det centrala elementet först på den första och sedan på den andra sidan, måste du skriva följande uttryck:

» M(2,2,1)

Svar =

» MS2.2.2)

Svar =

Således använder flerdimensionella arrayer samma indexeringsregler som endimensionella och tvådimensionella arrayer. Ett godtyckligt element, till exempel, i en tredimensionell array specificeras som M(1 .j.k), där 1 är radnumret, j är kolumnnumret och k är sidnumret. Detta element kan matas ut, eller så kan du tilldela det ett givet värde x: M(1,j,k)=x.

Ta bort en dimension i en flerdimensionell array

Vi har redan noterat möjligheten att ta bort enskilda kolumner genom att tilldela dem värdena för en tom kolumnvektor. Denna teknik är lätt att utöka till sidor och i allmänhet dimensionerna för en flerdimensionell array. Till exempel kan den första sidan i den resulterande arrayen M raderas enligt följande:

» M(:.:.1)=

M =

10 11 12

13 14 15

16 17 18

Det är lätt att se att endast den andra sidan finns kvar i denna array och att arrayens dimension har minskat med 1 - den har blivit tvådimensionell.

Skapa sidor fyllda med konstanter och slumpmässiga tal

Om det finns en numerisk konstant efter tilldelningstecknet, kommer motsvarande del av arrayen att innehålla element som innehåller denna konstant. Låt oss till exempel skapa från arrayen M (se exemplet ovan) en array vars andra sida innehåller ettor:

"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

Låt oss nu ersätta den första sidan i arrayen med en sida med noll element:

"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

Använda ettor, nollor, rand och randn funktioner

Funktionerna ettor (skapa arrayer med enhetselement), nollor (skapa arrayer med nollelement) och rand eller randn (skapa arrayer med element - slumptal med enhetlig respektive normalfördelning) kan också användas för att skapa flerdimensionella arrayer. Exempel ges nedan:

» E=ettor(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=nollor(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

Dessa exempel är ganska uppenbara och kräver inga speciella kommentarer. Observera dock att det är lätt att ange arraystorlekar för varje dimension. Dessutom bör det noteras att om minst en dimension av arrayen är noll, kommer arrayen att vara tom:

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

A =

Tom array: 3-bu-3-bu-3-by-0

Som du kan se från detta exempel returneras en tom array med en lämplig kommentar.

Kombinera arrayer

För att skapa flerdimensionella arrayer, använd den speciella sammanlänkningsfunktionen cat, som beskrivits tidigare för matriser:

    cat(DIM,A,B) - returnerar resultatet av att kombinera två arrayer A och B längs DIM-dimensionen;

    cat(2.A.B) - returnerar arrayen [A.B], där raderna är kombinerade (horisontell sammanlänkning);

    cat(1, А.В) - returnerar arrayen [A:B], där kolumnerna kombineras (vertikal sammanlänkning);

    B=cat(DIM.Al,A2,...) - kombinerar flera inmatningsmatriser Al, A2,... längs DIM-dimensionen.

Funktionerna cat(DIM,C(:)) respektive cat(DIM.C.FIELD) tillhandahåller sammanlänkning (sammanslagning) av celler i en cellmatris (se lektion 15) eller strukturer av en uppsättning strukturer (se lektion 14) som innehåller numeriska matriser till en enda matris. Följande är exempel på hur du använder kattfunktionen:

» M1=

» M2=

M2 =

» catd.Ml.M2)

Svar =

5 b

» cat(2.Ml.M2)

ans=

1 2 5 6

3 4 7 8

» M-katt(3.Ml.M2) M(:,:.l) =

M(:,:,2) =

Arbeta med dimensioner

Beräkna antalet dimensioner för en array

Funktionen ndims(A) returnerar storleken på array A (om den är större än eller lika med två). Men om inmatningsargumentet är en Java-array eller en array av Java-arrayer, kommer denna funktion att returnera 2, oavsett storleken på arrayen. Följande exempel illustrerar användningen av ndims-funktionen:

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

» ndims(M)

Svar =

4
Beräkna storleken på en matrisdimension

För att beräkna storleken på varje dimension av en array, använd storleksfunktionen:

    M = storlek(A.DIM) returnerar storleken på dimensionen specificerad av DIM-skalären som en radvektor av storlek 2. För en tvådimensionell eller endimensionell array A returnerar storlek(A.l) antalet rader, en storlek(A, 2) returnerar antalet kolumner;

För N-dimensionella arrayer A med n>2 storlek(A) returnerar en N-dimensionell radvektor som återspeglar arrayens sidorganisation, den sista komponenten i denna vektor är lika med N. Vektorn innehåller inte data om enhetsdimensioner ( de där radvektorn eller kolumnvektorn, dvs storlek(A,DIM)==l). Ett undantag är Javas N-dimensionella javaarray-arrayer, som returnerar storleken på den högsta nivån.

I allmänhet, när inmatningsargumentstorleken är en javaarray, är det returnerade antalet kolumner alltid 1, och antalet rader (rader) är lika med storleken (längden) på javaarrayen.

    Size ze(A) returnerar storleken på de första N dimensionerna av array A;

    D = storlek (A), för en mxn-matris returnerar A en radvektor med två element där den första komponenten är antalet rader m, och den andra komponenten är antalet kolumner n;

    Storlek(A) returnerar antalet rader och kolumner i de olika utdatatyperna (utdataargument i MATLAB-terminologi).

Permutationer av arraydimensioner

Om vi ​​föreställer oss en flerdimensionell array i form av sidor, så är deras permutation en permutation av arrayens dimensioner. För en tvådimensionell array betyder permutation ofta införlivande- ersätta rader med kolumner och vice versa. Följande funktioner generaliserar matristransponering till fallet med flerdimensionella arrayer och ger permutation av dimensionerna för flerdimensionella arrayer:

    Permutera (A, ORDER) - arrangerar om dimensionerna för array A i den ordning som bestäms av permutationsvektorn ORDER. Vektorordningen är en av de möjliga permutationerna för alla heltal från 1 till N, Där N- arraydimension A;

    ipermuteCA, ORDER) - den omvända operationen av permute: permute(permute(A. ORDER), ORDER)=A

Följande är exempel på hur du använder dessa funktioner och storleksfunktionen:

"A=:

"B=;

» C=;

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

D(:,:,l) =

9 10

11 12

"storlek (D)

Svar =

2 2 3

» storlek(permute(D.))

ans=

3 2 2

»storlek(ipermute(D.))

Ans=

2 2 3

» ipermute(permutera(D,),)

Ans(:. :,2) =

ans(:.:,3) =

9 10

11 12

Förskjutning av arraydimensioner

Förskjutningen av dimensioner implementeras av shiftdim-funktionen:

    B=shiftdim(X,N) - förskjutning av dimensioner i arrayen X med mängden N. Om M>0, så utförs förskjutningen av dimensioner placerade till höger till vänster, och de N dimensionerna först till vänster är kollapsade till slutet av matrisen, d.v.s. dimensionerna rör sig i en cirkel moturs. Om M<0, сдвиг выполняется вправо, причем N первых размерностей, сдвинутых вправо, замещаются единичными размерностями;

    Shiftdim(X) - Returnerar array B med samma antal element som array X, men med de ursprungliga enhetsdimensionerna borttagna. Utdataparametern NSHIFTS visar antalet borttagna dimensioner. Om X är en skalär ändrar funktionen inte X, B, NSHIFTS.

Följande exempel illustrerar användningen av shiftdim-funktionen:

» 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

Ta bort enhetsmått

Funktionen squeeze(A) returnerar en array med alla enhetsdimensioner borttagna. En dimension där storlek(A. dim) == 1 kallas enhet Men om

A är en endimensionell eller tvådimensionell array (matris eller vektor), då kommer funktionen att returnera samma array A. Följande exempel förklarar hur squeeze fungerar:

» A=randn(1.2.1.3.1):

"B=kläm (A)

0.6145 1.6924 -0.6436

0.5077 0.5913 0.3803

Lägg märke till att den femdimensionella arrayen A blir en 2-dimensionell array med storleken 2x3.

Vad har vi lärt oss för nytt?

I den här lektionen lärde vi oss:

    Skapa flerdimensionella arrayer.

    Använd operatorn ":" i flerdimensionella arrayer.

    Få tillgång till enskilda element i flerdimensionella arrayer.

    Ta bort dimensioner från en flerdimensionell matris.

    Skapa arrayer fyllda med konstanter och slumptal.

    Sammanfoga arrayer.

    Beräkna antalet dimensioner för en array och bestäm storleken på varje dimension.

    Ordna om, flytta och ta bort enhetsdimensioner i flerdimensionella arrayer.

Element av samma klass kan ofta kombineras till arrayer (med några få sällsynta undantag, som att använda funktioner). Numeriska skalärer, som standard av klass dubbel , kan lagras i en matris.

>> A = A = 1,0e+04 * 0,0001 -0,0002 0,0003 0,0001 1,5625 0,0003 Inf Inf NaN -Inf

Tecken som har klassen char i MATLAB kan också lagras i en array med en liknande syntax. En sådan array liknar en sträng i många andra programmeringsspråk.

>> s = ["MATLAB ","är ","kul"] s = MATLAB är kul

Observera att även om de båda använder [ och ] parenteser är resultatklasserna olika. Därför är operationerna som kan göras på dem också olika.

>> vems namn Storlek Byte Klassattribut A 2x5 80 dubbel s 1x13 26 tecken

s-matrisen är faktiskt inte en matris av strängarna "MATLAB", "is" och "fun", det är bara en sträng - en matris med 13 tecken. Du skulle få samma resultat om de definierades av något av följande:

>> s = ["MAT","LAB ","är f","u","n"]; >> s = ["M","A","T","L","A","B," ","i","s","","f","u", "n"];

En vanlig MATLAB-vektor tillåter dig inte att lagra en kombination av variabler från olika klasser eller flera olika strängar. Det är här cellarrayen kommer väl till pass. Detta är en uppsättning celler, som var och en kan innehålla något MATLAB-objekt, vars klass kan vara olika i varje cell om det behövs. Använd hängslen ( och ) runt element för att lagra i en cellmatris.

>> C = (A; s) C = "MATLAB är kul" >> vems C Namn Storlek Byte Klassattribut C 2x1 330 cell

Standard MATLAB-objekt av vilken klass som helst kan lagras tillsammans i en cellmatris. Observera att cellmatriser kräver mer minne för att lagra innehållet.

Innehållet i en cell nås med hjälp av hängslen ( och ) .

>> C(1) ans = 1,0e+04 * 0,0001 -0,0002 0,0003 0,0001 1,5625 0,0003 Inf Inf NaN -Inf

Observera att C(1) skiljer sig från C(1) . Medan den sistnämnda returnerar innehållet i en cell (och har ett dubbelt exempel), returnerar den förra en cellmatris som är en submatris till C. På samma sätt, om D var en 10 gånger 5 cellers matris, då D(4:8,1 : 3) returnerar en submatris D vars storlek är 5 gånger 3 och vars klass är cell . Och C(1:2)-syntaxen har inte ett returnerat objekt, utan bedömare returnerar den 2 olika objekt (liknar en MATLAB-funktion med flera returvärden):

>> = C(1:2) x = 1 -2 3,14 0,8 15625 3,14159265358979 Inf Inf NaN -Inf y = MATLAB är kul

ÄMNE 5. PROGRAMVARUIMPLEMENTERING AV MATEMATISKA MODELLER
Moderna matematiska modeller är komplexa och för att utföra beräkningar på dem är det nödvändigt att använda en dator. Därför bör algoritmerna eller beräkningsmetoderna i föregående kapitel översättas till något programmeringsspråk. För närvarande är språk som FORTRAN, C och PASCAL populära för vetenskaplig utveckling. Men för ett brett spektrum av användare anses dessa språk vara komplexa och därför har system som EXCEL, MATLAB, MATHCAD, MAPLE, etc., som är mer förståeliga för specialister inom ämnesområdet, blivit utbredda. Vi kommer att fokusera på MATLAB-systemet, som används i laborationsarbetet på denna utbildning.
^ 5.1 Korta egenskaper hos MATLAB
MATLAB-systemet (förkortning för MATRix LABoratory) utvecklades av The MathWorks, Inc. (USA, Natick, Massachusetts) och är ett interaktivt system för att utföra tekniska och vetenskapliga beräkningar, som är fokuserat på att arbeta med datamatriser och ger tillgång till program skrivna i Fortran, C++. Systemet stöder operationer med vektorer, matriser och datamatriser, stöder arbete med algebraiska polynom, lösa differential- och differensekvationer, lösa olinjära ekvationer och optimeringsproblem etc. samt att konstruera olika typer av grafer, tredimensionella ytor och nivålinjer .

Driftsmiljön för MATLAB-systemet inkluderar ett kommandofönster, ett verktygsfält, delsystem för visning av arbetsytan och åtkomstvägar, en M-filredigerare/debugger, etc. Användaren kan själv skriva program med hjälp av M-filredigeraren, som är formaterade som M-filer (M-filer har förlängning). .m). Varje program måste skapas, redigeras (d.v.s. justeras) och köras (dvs. beräknas).

För att skapa ett nytt program i menyn ^ Arkiv alternativet är valt Ny och sedan M-fil; Som ett resultat öppnas fönstret för M-filredigering. Programmets text skrivs in i det här fönstret. Efter att denna text har skrivits ska du spara programmet med ett namn (för detta i menyn Fil alternativet är valt Spara som).

För att köra programmet, gå till kommandofönstret och på kommandoraden, indikerat på skärmen med symbolerna >> ange M-filens namn.

För att redigera en redan skapad M-fil måste du gå tillbaka från kommandofönstret till redigeringsfönstret med programtexten.

^

Bildning av arrayer i MATLAB

I MATLAB är huvudobjektet arrayer (matriser och vektorer), för vilka dimensioner inte behöver anges explicit. För att bilda en numerisk matris anges siffror inom hakparenteser, avgränsaren mellan siffror är mellanslag. Symbolen används för att separera rader av matriser ; . Exempel.

Matrisen A = med 3 rader och 2 kolumner skrivs som: A = .

Symbolen används för att bilda arrayer : . Exempel.

Ställ in vektor MED, bestående av tal från 0 till 0,5 i steg om 0,1: C = 0: 0,1: 0,5. Linjen kommer att visas på skärmen:

C = 0 0,1 0,2 0,3 0,4 0,5

Om steget är 1, så är det inte specificerat, till exempel att ange en vektor B som består av siffrorna 3, 4, 5, 6, 7, du kan skriva: B = 3: 7. Då visas skärmen:

B = 3 4 5 6 7
Symbol : används också för att välja subblock i en array. Exempel. Välj den första kolumnen i matrisen A =: A ( : , 1).
Arrayer kan kombineras. Låta x= 1, 2, 3, 4, a y= 5, 6, 7, 8. Sedan ett fragment av programmet för att bilda den kombinerade arrayen z kommer att vara följande:

x = 1:4;

y = 5:8;

z = [x; y]

skärmen kommer att visas: z =

Aritmetiska operationer. Aritmetiska additionsoperatorer används + , subtraktion , multiplikation * , divisioner / , exponentiering ^.

p1) . ′ elementvis transponering (rader ersätts med kolumner, för komplexa

komplex konjugering utförs inte för matriser).

Låt till exempel A = och sedan A . ′ = .

p1) .^ elementvis exponentiering, A . ^B.

Låt till exempel A = och sedan A . ^2 =
.

p1) ′ - matristransponering. För komplexa matriser kompletteras transponeringen

komplex konjugation.

Låt till exempel A = , sedan A′ =
.

p1) ^ höja en matris till en potens, A^p (endast för kvadratiska matriser och för heltal p). Låt till exempel matrisen A =
. Sedan A^2 =

p2) .* elementvis multiplikation av två arrayer av samma storlek.
Låt till exempel A =
B=
, sedan A . *B =

Alla element i arrayen multipliceras med en skalär, låt till exempel A = . Beräkna F =3*A. Vi får F =
.
p2) * matrismultiplikation, A*B.

Låt till exempel A = B = . Sedan A * B =
.
p2) ./ elementvis uppdelning av arrayer. Matriserna måste vara av samma storlek eller så delas matrisen med en skalär. Låt till exempel A = . Sedan B ./ 3 = .
p3) + tillägg och - subtraktion för skalärer, vektorer och matriser.

Låt till exempel A =
och B =
. Sedan A - B =
.

PS: Operationer av typen p1 utförs före p2 och p2 före p3. Inom varje nivå är prioriteringen densamma, beräkningar utförs från vänster till höger. Du kan använda parenteser för att bestämma önskad ordningsföljd

^

Några specialtecken

() - indikering av operationssekvensen. Exempel:

a) ställ in en array x från 0 till 3 i steg om 0,1 och presenteras som en kolumn: x=(0: 0,5: 2)′

b) beräkna
: y=(x+0.5)/2
- bildande av arrayer (se avsnittet "Formation av arrayer i MATLAB-systemet")
% - kommentarer börjar med denna symbol. De kan vara i form av separata rader eller följa något av kommandona.
; denna symbol används: a) för att undertrycka visningen av beräkningsresultat; b) att separera rader av matriser.
: - Denna symbol används för att bilda vektorer, såväl som för att välja rader eller kolumner i en array.
pi - nummer π = 3,141592653897
ans - resultatet av operationen om utdatavariabeln inte är specificerad (i detta fall använder MATLAB variabeln ans).
inf - denna symbol visas på skärmen när, under en beräkning, bitrutnätet (“faktiskt” ∞) svämmar över i en av cellerna. Till exempel när du utför en division med noll operation.
NaN - en speciell variabel för att indikera ett odefinierat värde, resultatet av operationer som: 0/0, inf/inf etc.

^

Grundläggande matematiska funktioner

abs- absolut värde, till exempel, låt x= [-2 4 –8,5], sedan abs( x) = .

sin, cos, tan etc. – trigonometriska funktioner, argument (vinklar) anges i radianer. Till exempel, t= cos( x);

exp- exponentiell funktion ( e x), Till exempel: y= exp( x);

logga- naturlig logaritm, till exempel: c= logg( d);

log10– decimallogaritm, till exempel, z= log10( y);

sqrt - kvadratrot, till exempel: b= sqrt( a);
Vissa grafikfunktioner
figur- funktion för att öppna ett grafiskt fönster på skärmen
xlabel, ylabel- funktioner för att namnge x- och y-axlarna
titel- funktion för att placera en titel ovanför grafen
plot(x,y)- funktion för att konstruera en tvådimensionell beroendegraf y = f(x) i kartesiska koordinater (markörtyp, färg och linjetyp på grafen väljs automatiskt);
plot(x1, y1, LineSpec1, x2, y2, LineSpec2,...)- en funktion för att konstruera flera beroenden på det grafiska fönstret, ange en markör, färg och linjetyp för varje linje.
polär(x,y)– funktion för att bygga beroende y = f(x) i polära koordinater.
meshgrid(x, y)- funktionen specificerar ett rektangulärt nät på planet ( x, y) i form av tvådimensionella arrayer, som definieras av givna vektorer x Och y.

Exempel: [ X,Y] = meshgrid(1:0.5:2,10:14). Som ett resultat får vi:

X = 1 1.5 2 Y = 10 10 10

1 1.5 2 11 11 11

1 1.5 2 12 12 12

1 1.5 2 13 13 13

1 1.5 2 14 14 14
mesh(x,y,z)- funktionen visar en tredimensionell nätbegränsningsyta z = f(x, y).

surfa(x,y,z)- funktionen visar en kontinuerlig maskyta av begränsningen z = f(x, y).

^

Online tillgång till hjälpinformation och dokumentation


Det finns flera sätt att få information om MATLAB-systemets funktioner.

1 . Team hjälp funktionsnamn. Skrivs direkt i MATLAB-kommandofönstret. Till exempel: hjälp synd.

2 . Meny HJÄLP kommandofönstret. Den här menyn ger fullständig hjälpinformation om MATLAB-systemet, som innehåller fler detaljer och exempel än hjälpkommandot. Användaren kan se den fullständiga dokumentationen för MATLAB-systemet (undermeny Innehåll), eller öppna en lista över alla funktioner i alfabetisk ordning (undermeny Index), eller organisera en sökning efter namn (undermeny Sök). Det är också möjligt att öppna en lista med funktioner efter kategori (MATLAB-funktioner listade efter kategori), öppna en lista med exempel efter kategori (index över dokumentationsexempel) och andra funktioner.
^

Exempel:

a) Hitta linjära algebrafunktioner. Öppna sekvensen av fönster:

HJÄLP – MATLAB Hjälp – Hitta funktioner och egenskaper – Matlab-funktioner listade efter kategori – Matematik –- Linjär algebra

b) Hitta grafiska funktioner för att plotta:

HJÄLP – MATLAB Hjälp – Hitta funktioner och egenskaper – Matlab-funktioner listade efter kategori – Grafik – Grundläggande plotter och grafer.
3 . Ett annat sätt att få information om MATLAB-systemet är att komma åt webbservern för företaget MathWorks.

^

5.2 Linjära algebraproblem, beräkningsfunktioner och plottning av grafer

MATLAB-systemet är inriktat på att arbeta med arrayer och de huvudsakliga problemen med linjär algebra är representerade i detta system i en ekonomisk form. Några typiska linjära algebraproblem och deras mjukvaruimplementering diskuteras nedan.

Exempel1. Multiplicera vektor
till vektor
.

Som du vet, när du multiplicerar vektorer måste den första vektorn vara en rad och den andra måste vara en kolumnvektor, och de måste ha samma dimensioner. Därför skrivs lösningen i formen
a =

b =

c = a*b
Eller
a =

b = ′

c = a*b
% svar: Med = 12.
PS: Om du skriver ner det b= , då utförs inte beräkningen, eftersom b kommer att tolkas som en radvektor.
Exempel 2. Multiplicera matris
till matrisen
.

För att utföra denna operation korrekt måste antalet element i raderna i matris A vara lika med antalet element i kolumnerna i matris B. Programmet kommer att skrivas i formen:
a = ;

b = ;

Följande kommer att visas på skärmen:

Exempel 3. Lös ett system av linjära ekvationer

I matrisform kommer detta system att ha formen: A*x = B, där:

Då kommer lösningen att skrivas som:
^A= % vi sätter matrisen av koefficienter för okända

B= % ställer in vektorn för fria termer

X=A\B% systemlösning (Svar: X 1 =5, X 2 = 3, x 3 = 2)
Symbol \ används för att lösa linjära ekvationssystem AX=B.
Exempel 4. För matris A(se exempel 3) hitta determinanten och inversmatrisen ( A-1) och räkna produkten E=A A-1. Lösning:
A=

C = det(A) %det – funktionen beräknar determinanten för den givna matrisen

D = inv(A) %inv - funktionen beräknar matrisinversen av den givna

Svar: C = -6; E = 1,0000 0 0

0.0000 1.0000 0.0000

0.0000 -0.0000 1.0000

I matematiska modeller är det ofta nödvändigt att utvärdera värdena för uttryck som y = f(x) till olika värden x och sedan representera dessa beroenden i grafisk form. I MATLAB är sådana problem lätt att lösa. Nedan följer exempel.
^

Exempel 5. I intervallet X= beräkna värden:

y = e x Och z = 1 + x + x 2 /2 + x 3 /6 + x 4 /24

för jämnt fördelade 31 poäng. Bygg beroenden y = f(x) Och z = f(x) på en graf (kartesiska koordinater). Värderingar x, y, z visas inte på skärmen.

Lösningen kommer att skrivas i formen:
x = (0: 0,1: 3)"; ställ in värdena X i intervallet från 0 till 3 i steg om 0,1

y = exp(x); beräkna vektorvärdena

z = 1,0 +x + (x.^2)/2 + (x.^3)/6 - (x.^4)/24; beräkna vektorvärdena z

figur öppna grafikfönstret

plot(x,y," –g ",x,z," –k ") plotta funktionen y = cos(x)

xlabel(" coordinata x ") ge namnet på axeln x

ylabel(" coordinata y ') ge ett namn för axeln y

title(" y=exp(x) "); ge en titel för grafen
Exempel 6. I intervallet X = beräkna värden y = 0,5 ln (x+1) för jämnt fördelade 101 poäng. Bygg ett beroende y = f(x) i polära koordinater.
x= (0: pi/10: 10*pi)’;

y = 0,5*log( x + 1);

polär( x, y); bygga en graf över en funktion y = 0,5 ln(x+1)
MATLAB gör det enkelt att skapa tredimensionella plotter, d.v.s. typberoende z = f(x, y), som visas i följande exempel.

Exempel 7. Bygg yta
X= -1 till +1 i steg om 0,2 och vid y= -1 till +1 i steg om 0,2.

Lösning på problemet:
[x, y]=meshgrid([-1:0.2:1]);

z=x.*exp(- x.^2 - y.^2);

maska( x,y,z);

surfa( x,y,z);

PS: Grafikfunktioner beskrivs ovan i avsnittet "Vissa grafikfunktioner".

^ 5.3. Lösa ickelinjära algebraiska ekvationer och approximera funktioner
MATLAB-systemet gör det mycket enklare än i kända programmeringsspråk att lösa system med olinjära (algebraiska ekvationer) och ungefärliga tabellspecificerade funktioner.

Exempel 8. Lös ekvationen
med initial uppskattning x 0 = 5 och med iterationer som visas på skärmen:

Lösning på problemet:
funktion ex1

options = optimset(" Display "," iter ");

Fzero(@f, 5, alternativ)

funktion y = f(x)

y = x.^3-2*x-5;
PS: De första 3 satserna är huvudprogrammet, de sista 2 satserna är funktionen som definierar beroendet
till olika värden X.

Nedan följer korta beskrivningar av MATLAB-funktionerna som används för att lösa problemet.
fzero (@funktionsnamn, x 0 ,alternativ)– sök efter nollpunkten för en funktion av en variabel. Lösningen söks i närheten av en given punkt x 0 genom att hitta intervallet där funktionen byter tecken. Om ett sådant intervall inte hittas återkommer det Inf eller NaN. Parameter alternativ kan ställa in visningen av mellanresultat (iterationer) på skärmen och noggrannheten i beräkningen.
optimset("Display", "iter") – en funktion för att visa iterationer på skärmen.
- visar den önskade lösningen och funktionsvärdet som motsvarar denna lösning.
Du kan lära dig mer om funktionerna som används i HJÄLP MATLAB.
Exempel 9. Lös ekvationssystemet:

(5.1)

med initiala uppskattningar x 0 = 2,5; y 0 = 0,5 och med iterationer som visas på skärmen.

För att lösa, flyttar vi höger sida av ekvationerna till vänster sida

, (5.2)

så att det finns nollor på höger sida. Sedan letar vi efter minimum av funktionen som består av summan av dessa ekvationer i kvadrat: . Eftersom summan av kvadrater alltid är ett positivt tal, får funktionens minimum inte vara mindre än 0 och når värdet f= 0 betyder att värdena x Och y, som motsvarar detta värde, uppnå de önskade systemlösningarna (5.2).

Lösning på problemet:
funktion ex2

options = optimset("Display","iter");

Fminsearch (@eq1, , optioner)

funktion f = ekv1(x)

f = (x(1).^2 + x(2).^2 - 9).^2 + (x(1) + sin(x(2)) - 3).^2
PS: Det finns en överensstämmelse mellan de okända i ekvationerna (5.1) och programvariablerna: x = x(1), y = x(2).

MATLAB-funktion som används för att lösa problemet:
fminsearch (@funktionsnamn, [ initiala approximationer av variabler ], alternativ)– en funktion för att hitta minimivärdet för en funktion av många variabler.
^ Funktionsuppskattning

Approximation av en tabellspecificerad funktion med ett polynom av n:e graden utförs med minsta kvadratmetoden (se avsnitt 2.4).
Exempel 10. Utför approximation av en given punktfunktion x= 0 till 0,7 i steg om 0,1, y= 0,22 0,428 0,604 0,74 0,84 0,91 0,95 0,98 polynom av 2:a graden. Konstruera grafer för en given punktfunktion och ett approximativt polynom:
Lösning på problemet:
x=(0:0.1:0.7)" % array x består av 8 nummer

y=" % array y består av 8 nummer

p=polyfit(x,y,2)

tabell=

plot(x,y,"k*",x,f,"-g")

xlabel("koordinat x")

ylabel("koordinat y")

titel( "Grafik y(x), f(x)")
PS: Antal nummer i arrayer x Och y måste vara samma; tabell– namnet på en array bildad av 4 vektorer: x, y, f och ( y-f). Det finns 8 4 = 32 nummer i denna array. Array f innehåller även 8 nummer
polyfit (x, y, polynomgrad) - funktionen hittar koefficienterna a i polynom p(x) grader n, som approximerar en given funktion y(x):
p(x) = a 1 x n +a 2 x n – 1 + … + a n x+a n+1
polyval(p, x) - funktion för att beräkna polynomets värden sid på givna punkter x.

^ 5.4 Lösa vanliga differentialekvationer och beräkna integraler
MATLAB löser enkelt vanliga differentialekvationer (Cauchy-problem) och beräknar bestämda integraler med hjälp av standardfunktioner.

Exempel 11. Lös differentialekvationen med standardfunktionen ode45:

(5.3)
i intervallet x= 0 till 30 at y(0)= 2 för a = 0,24.

Låt oss först representera ekvation (5.3) som ett ekvationssystem:

(5.4)

vid initiala värden: y 1 (0) = 0; y 2 (0) = 2 för att exkludera den oberoende variabeln från höger sida av (5.3) x.
Löser problemet.
funktion ex_eqdif

Ode45(@dif1,,);

funktion dy=dif1(t,y)

% pravie delar difderensial. uravneniy

dy(2)=cos(y(1))-sin(y(1))-alfa*y(2);
PS: Funktionen dif1(t,y) bestämmer ekvationernas högra sida (5.4). Det finns en överensstämmelse mellan de okända i ekvationerna (5.4) och programvariablerna: x = y(1), y = y(2).
ode45 (@ funktionsnamn , [ integrationsintervall ], [ initiala förhållanden ] ) - funktionen används för att lösa vanliga icke-rigida differentialekvationer med 4:e ordningens Runge-Kutta-metoden.
nollor(m,n)- Funktionen genererar en matris med nollor i storlek
(Där m– antal ekvationer, n=1).
global– operatören deklarerar globala variabler. Om du istället för variabeln alfa ersätter ett tal på höger sida, behöver du inte ange en global variabel.
Exempel 12. Lös Lotka-Volterras ekvationssystem med funktionen ode23:

(5.5)
X=0 till 10 och initiala villkor: y 1 (0) = 1; y 2 (0) = 1. Parametrar = 0,01 och = 0,02 satt som globala värden. Graffunktioner y 1 (x), y 2 (x)).
Löser problemet.
funktion Lotka_Volterra

global alfabeta

alfa=0,01; beta=0,02;

Ode23(@lotka,,);

plot(t,y); % Plotta y 1 (t) Och y 2 (t)

funktion dy=lotka(t,y)

global alfabeta

dy(l)=y(l)-alfa*y(l)*y(2);

dy(2)=-y(2)+beta*y(1)*y(2);
PS: Funktionen lotka(t,y) bestämmer ekvationernas högra sida (5.5). Det finns en överensstämmelse mellan de okända i ekvationerna (5.5) och programvariablerna: y 1 = y(1), y 2 = y(2).
ode23 (@ funktionsnamn , [ integrationsintervall ], [ initiala förhållanden ] ) - funktionen används för att lösa vanliga icke-rigida differentialekvationer med den låga ordningens Runge-Kutta-metoden.
^ Beräkning av integraler
Exempel 13. Beräkna integralen:

(5.6)
använda Simpsons metod (standard quad-funktion) och plotta integrand-funktionen i intervallet X= i steg om 0,1.

Lösning på problemet:
funktion int1

y=1./(x.^3-2*x-5);

plot(x,y); %Bygga en graf y(x)

Q = quad(@myfun,0,2)

funktion y = myfun(x)

y = 1./(x.^3-2*x-5);
PS: Integrandfunktionen beräknas i funktionen myfun(x) för olika värden X
quad(@subintegral_funktionsnamn, a, b)- numerisk beräkning av integralen med den adaptiva Simpson-metoden, där: a och b är integrationens gränser.

Exempel 14. Beräkna integralen:

(5.7)
med Simpsons metod (standard quad-funktion) med y= 10 o (omvandla grader till radianer). För värde y använd en global variabel i programmet.
Löser problemet.
funktion int2

Q = quad(@myfun,0,pi/2);

funktion y = myfun(x)

y=1./sqrt(1-(sin(teta)*sin(x)).^2);
PS: Storlek y programmet motsvarar en global variabel theta. Värdet på integralen erhålls i variabeln Q.

^

Säkerhetsfrågor

1. Vad är en skalär, vektor, matris? Ge definitioner och exempel.
2. Vilka åtgärder kan utföras med vektorer och matriser? Ge exempel.
3. Hur bildas arrayer i MATLAB: endimensionella och tvådimensionella? Ge exempel.
4. Definiera transponerad vektor och transponerad matris. Hur bildas de i MATLAB? Ge exempel.
5. Definiera determinant och invers matris. Hur beräknas de i MATLAB? Ge exempel.
6. Elementära funktioner och deras registrering i MATLAB. Ge exempel.
7. Utför följande manuellt (utan hjälp av en dator):

Multiplicera vektor P med vektor Y;

Multiplicera matris G med vektor Y;

Multiplicera matris G med matris F,


8. Skriv ett program i MATLAB för att utföra de åtgärder som anges i fråga 7.

9. Givet en matris
. Bestäm dess inversa matris utan hjälp av en dator - A -1 .

10. Hitta matrisens determinant utan hjälp av en dator
.

11. Givet ett system av linjära ekvationer:
(1P)

eller i matrisform Cּ X= B.

Skapa ett MATLAB-program för att lösa detta system med att bestämma matrisens determinant MED.
12. Använd MATLAB och hitta matrisinversen till en matris MED(från fråga 11). Hur man använder en matris MED-1 hitta okända x 1 , x 2 , x 3 , x 4 från systemet (1P)?
13. Lös ett ekvationssystem med MATLAB
(2P)

Hitta orsaken till felet om systemet (2P) inte är löst. Bestäm determinanten för koefficientmatrisen för okända.
14.För villkoren i fråga 7, skriv ett program i MATLAB:

Multiplicera den första raden i matris G med den andra kolumnen i matris F;

Multiplicera den andra raden i matris F med den andra kolumnen i matris G.
15. Använd MATLAB för att bestämma bromssträckans längd ^S(m) som funktion av hastighet V f(m/s):

där hastigheten anges i intervallet V f= 10…40 (hastighetssteg är 2m/s), plottningsberoenden: S = f(V f ) Och V f = φ(S).
16. Lös grafiskt (med MATLAB) ekvationen:

(3P)

i intervallet x= 0…10π i steg om 0,1π. Hur många rötter har ekvationen (3P)?
17. Använd MATLAB i kartesiska koordinater och konstruera en cirkel med ett centrum i en punkt x = 1, y= 1 och radie lika med 1. Längs axeln x välj steg Δ x= 0,05.
18. Använda MATLAB för att bygga ett beroende y = ln(x + 1) i kartesiska koordinater i intervallet x= 0…4π med ett steg på 0,2π, samt beroendet r = ln(φ + 1) i polära koordinater i samma intervall och med samma steg längs φ .
19. Använda MATLAB på en graf i polära koordinater med steg
= 0,1 i intervallet, konstruera beroenden (spiraler med 3 varv):
A) r = 0,4φ + 0,03φ 2 (4P)

b) beroende (4P), men vridet i motsatt riktning.
20. Använd MATLAB, konstruera en 3-dimensionell yta:

i området [ x, y] = [-1:0,1:1] [-2:0,1:2].
21. Använd MATLAB, konstruera en 3-dimensionell yta:

i området [ x, y] = .
22. Använda MATLAB med programmet fnoll
x 0 = 2 km; x f= 8 km.
27. Ett tabellmässigt beroende av bränsleförbrukningen (för en personbil) på drifttiden ges.

polyfit, polyval) hitta det ungefärliga beroendet G = f(t) polynom av 3:e graden och bestäm det genomsnittliga approximationsfelet.
28. Ett tabellmässigt beroende av kostnaden för en personbil på drifttiden ges.


t(år)

0

1

2

3

5

7

10

C ($)

11500

8700

7200

6000

5500

5000

4600

Använda MATLAB-paketet (funktioner polyfit, polyval) hitta approximativa beroenden C = f(t) polynom av 2:a och 3:e graden och jämför de maximala approximationsfelen.
29. Använda MATLAB (funktion ode45

(5P)
i intervallet x= 0…2 vid initiala förhållanden: x 0 = 0, y 0 = 1. Omvandla först ekvation (5P) till ett system med 2 differentialekvationer.
30. Använda MATLAB (funktion ode23) lös den vanliga differentialekvationen:

(6P)
i intervallet x= 0…5 vid initiala förhållanden: x 0 = 0, y 0 = 2. Omvandla först ekvation (6P) till ett system med 2 differentialekvationer.
31. Använda MATLAB (funktion ode45

i intervallet t= 0…8π vid initiala förhållanden: t =0; x 0 = 1; y 0 = 1.
32. Använda MATLAB (funktion ode45) lös systemet med vanliga differentialekvationer:

i intervallet = 0,3…4 vid initiala förhållanden: = 0,3; x 0 = 1; y 0 = 0.
33. Använda MATLAB (funktion ode23) lös den vanliga differentialekvationen:

(7P)

i intervallet t= 0…3s vid initiala förhållanden: t = 0, r 0 = 0,
och ω = 2π (rad/s). Omvandla först ekvation (7P) till ett system av första ordningens differentialekvationer.

Arrayer är huvudobjekten i systemet MATLAB : endast tillåtet i version 4.xendimensionella arrayer- vektorer - och tvådimensionella arrayer - matriser; i version 5.0 är det möjligt att använda flerdimensionella arrayer - tensorer. Nedan beskriver vi funktionerna för att bilda matriser och matriser, operationer på matriser, specialmatriser inom systemet MATLAB versioner 4.x.

Bildande av arrayer av speciell typ

  • NOLLOR - bildandet av en matris med nollor
  • ENOR - bildande av en rad enheter
  • ÖGA - bildande av en enhetsmatris
  • RAND - bildandet av en uppsättning element fördelade enligt en enhetlig lag
  • RANDN - bildandet av en uppsättning element fördelade enligt normallagen
  • KORSA - vektorprodukt
  • KRON - bildning av en tensorprodukt
  • LINSPACE - bildning av en linjär grupp av noder med lika mellanrum
  • LOGRYMME - bildning av logaritmiska rutnätsnoder
  • MESHGRID - bildning av noder av tvådimensionella och tredimensionella maskor
  • : - bildning av vektorer och submatriser

Operationer på matriser

  • DIAG - bildande eller extraktion av matrisdiagonaler
  • TRIL - bildandet av en lägre triangulär matris (array)
  • TRIU - bildandet av en övre triangulär matris (array)
  • FLIPLR - rotation av matrisen i förhållande till den vertikala axeln
  • FLIPUD - rotation av matrisen i förhållande till den horisontella axeln
  • ROT90 - matrisrotation 90 grader
  • OMFORMA - konvertering av matrisstorlek

Specialmatriser

  • COMPAN - åtföljande matris för det karakteristiska polynomet
  • HADAMARD - Hadamard matris
  • HANKEL - Hankel-matris
  • HILB, INVHILB - Hilbert matris
  • MAGI - magisk fyrkant
  • PASCAL - Pascal matris
  • ROSER - Rosser matris
  • TOEPLITZ - Toeplitz matris
  • VANDER - Vandermonde matris
  • WILKINSON - Wilkinson matris

CONV, DECONV

Konvolution av endimensionella arrayer

Syntax:

Z = konv(x, y)
= dekonv(z, x)

Beskrivning:

Om specificerat endimensionella arrayerx och y har längden m = längd(x) respektive n = längd(y), då är faltningen z en endimensionell matris med längden m + n -1, vars k:te element bestäms av formeln

Funktionen z = conv(x, y) beräknar faltningen z för två endimensionella arrayer x och y.

Om vi ​​betraktar dessa arrayer som sampel av två signaler, kan vi formulera faltningssatsen i följande form:
Om X = fft() och Y = fft() är storleksanpassade Fourier-transformer av signalerna x och y, då är relationen conv(x, y) = ift(X.*Y) giltig.

Med andra ord är faltning av två signaler ekvivalent med multiplikation av Fourier-transformerna av dessa signaler.

Funktionen = deconv(z, x) utför den inversa operationen av faltning. Denna operation är ekvivalent med att bestämma filtrets impulssvar. Om förhållandet z = conv(x, y) är sant, då är q = y, r = 0.

Relaterade funktioner: Verktygslåda för signalbehandling.

1. Användarhandbok för Signal Processing Toolbox. Natick: The MathWorks, Inc., 1993.

Ställa in mallen för matriser och vektorer (matris...)

Operationen Matrix... tillhandahåller definitionen av vektorer eller matriser Som bekant är en matris ett objekt som specificeras av dess namn i form av en array av data MathCAD använder endimensionella arrayervektorer och tvådimensionella matriser själva

En matris kännetecknas av antalet rader (rader) och antalet kolumner (kolumner). Således är antalet matriselement eller dess dimension lika med rader x kolumner. Elementen i matriser kan vara tal, konstanter, variabler och till och med matematiska uttryck. Följaktligen kan matriser vara numeriska och symboliska

Om du använder operationen Matrix... kommer ett litet fönster att dyka upp i det aktuella fönstret som låter dig ställa in dimensionen för en vektor eller matris (se figur 515 till höger för att göra detta måste du specificera). antal rader Rader och antal kolumner Kolumner Genom att trycka på Enter-tangenten eller peka med muspekaren på bilden av nyckeln Infoga i fönstret kan du visa en matris eller vektormall (vektorn har en av dimensionsparametrarna lika med 1)

Mallen innehåller kantparenteser och små mörka rektanglar för att indikera var du kan ange värden (numeriska eller tecken) för vektor- eller matriselementen. En av rektanglarna kan aktiveras (genom att markera den med muspekaren). Samtidigt är den innesluten i ett hörn. Detta indikerar att värdena för motsvarande element kommer att matas in i det. Med hjälp av markörtangenterna kan du flytta horisontellt genom alla rektanglar och ange alla element i vektorn eller matrisen.


Ris. 5. 15 Mata ut vektor- och matrismallar och fylla i dem

Medan element av vektorer eller matriser skrivs in, visas tomma mallar utan några kommentarer. Men om du avslutar inmatningen innan mallarna är helt ifyllda kommer systemet att visa ett felmeddelande: en ofylld mall blir röd. Utdata från en icke-existerande matris eller felaktig indikering av dess index visas också i rött.

Om du använder Insert-operationen när matrismallen redan har matats ut, expanderas matrisen och dess storlek ökar. Med knappen Ta bort kan du ta bort expansionen av matrisen genom att ta bort en rad eller kolumn från den.

Varje matriselement kännetecknas av en indexerad variabel, och dess position i matrisen indikeras av två index: ett anger radnumret, det andra kolumnnumret. För att ställa in en indexerad variabel måste du först ange namnet på variabeln och sedan gå till uppsättningen index genom att trycka på knappen som anger symbolen]. Radindexet anges först, följt av kolumnindexet, avgränsat med kommatecken. Exempel på utdata av indexerade variabler (element av matris M) ges också i fig. 5.14.

En matris som degenererats till en rad eller en kolumn är en vektor. Dess element är indexerade variabler med ett index. Den nedre gränsen för indexen ställs in av värdet på systemvariabeln ORIGIN. Vanligtvis är dess värde satt till 0 eller 1.



Om du upptäcker ett fel markerar du ett textstycke och trycker på Ctrl+Enter
DELA: