[År]
H
T
X
C
P
H
W
e
s
t
[
V
æ
l
Udarbejdet af: A - J
Klasse: 2011
Fag: Matematik A &
Informationsteknologi B
Dato: 2011-2012
MATRIXREGNING STUDIERETNINGSPROJEKT
2011-12
1
Abstract
This study is about matrix calculation; especially the calculation rules of matrices. It also includes
the use of matrix in mathematics and information technology by giving examples of every rules and
a developed Java–program which has the ability to convert 3 equations with 3 unknown variables
into total matrix form.
The content has been written with the use of books and internet websites, which were reliable and
trustworthy. However, some of the content has been made based on own programming skills.
Matrix calculation is one of the most interesting topics for engineers such as software developers
etc. mostly because it can be used to encrypt and decrypt codes. Matrices can also be used to
display networks allowing mathematical calculations to be worked out more easily with relation to
problems such as traffic flow and plumbing.
2
Indholdsfortegnelse_Toc314650710
Indledning ............................................................................................................................................ 3
Matricer ................................................................................................................................................ 4
Regneregler for matricer .................................................................................................................. 4
Lighed ........................................................................................................................................... 4
Multiplikation ............................................................................................................................... 5
Addition og Subtraktion ............................................................................................................... 6
Determinantmetoden (Cramers sætning).......................................................................................... 6
Transponeret matrix ......................................................................................................................... 7
Lineære ligningssystemer ................................................................................................................. 7
Enhedsmatrix ................................................................................................................................ 8
Invers matrix ................................................................................................................................. 8
Rækkeoperationer ......................................................................................................................... 9
Echelon – matrix ........................................................................................................................... 9
Gauss’ elimination ........................................................................................................................ 9
Eksempel på 3 ligninger med 3 ubekendte ..................................................................................... 10
Matricer i informationsteknologi ....................................................................................................... 11
Analyse af matrixregning i IT ............................................................................................................ 12
Konklusion ......................................................................................................................................... 13
Litteraturliste ...................................................................................................................................... 14
Bilag ................................................................................................................................................... 16
Totalmatrix ..................................................................................................................................... 16
3
Indledning
Indledningsvis vil jeg i denne opgave gøre rede for matrixregning. Matrixregning er et interessant-
og voksende emne, indenfor matematik samt informationsteknologi og generelt indenfor
ingeniøruddannelsen. Matrixregning er også helt nødvendig for dagens teknologiske løsninger
indenfor lineære ligningssystemer.
Eksempelvis ved problemer, hvor man opererer med et større antal sammenhørende lineære
ligninger (førstegradsligninger), kan man med fordel anvende matrixregning.
Det kunne f.eks. være en matrix A:
I denne opgave vil jeg redegøre for matricer i lineære ligningssystemer. Jeg vil også programmere
et Java–program, som kan omskrive tre ligninger med tre ubekendte til totalmatrix form. Til sidst
vil jeg analysere et informationsteknologisk produkt, der har anvendt matrixregning.
4
Matricer
Begrebet matrix spiller en stor rolle i den lineære algebra, specielt i teorien for løsning af lineære
ligningssystemer. En matrix er en tabel af tal eller bogstavsymboler. Matrix kan være en meget
nyttig måde at præsentere sit data op i en tabel. En matrix kan have en eller flere rækker og søjler
med tal opstillet i en tabel. De enkelte symboler i matricen kaldes for matricens elementer.
Der findes forskellige type matricer, for eksempel:
En matrix A med tre rækker og tre søjler er en tre ”gange” 3 (3 x 3) matrix.
Eksempel: Matricen A=
Matricer kan også skrives som en matrix, hvor m er rækkenummer og n er søjlenummer. Det
vil sige, at matricen A kan også skrives som .
En sådan matrix, der har lige mange rækker og søjler kaldes for en kvadratisk matrice.
En matrix B med tre rækker og én søjle er en (3 x 1) matrix.
Eksempel: Matricen B=
En sådan matrix, der har et rektangulærform kaldes for en rektangulær matrice. Matricer som
B ( ), kan også kaldes for søjlematricer.
Regneregler for matricer
Regneregler for matricer er følgende:
1. Lighed
2. Multiplikation
Multiplikation af en matrix med tal (skalarmultiplikation)
Multiplikation af matricer
3. Addition og Subtraktion
Lighed
Hvis der er to ens m x n matricer og tilsvarende elementer i de to matricer er ens, så er A = B. De to
matricer kaldes for hinandens lighedsmatricer.
1.søjle
2.søjle 3.søjle
1.række 2.række
3.række
A m x n
B 3x1
A 3 x 3
5
Eksempel: Matricen A=
og matricen B=
er ens.
Multiplikation
Multiplikation af en matrix med tal (skalarmultiplikation)
For et tilfældig reelt tal k og en tilfældig matrix A, defineres der ”k . A” som en ny matrix, som er
fremkommet ved at multiplicere A’s elementer med k.
Eksempel: ,
Dvs. at ”2” skal multipliceres med matricens elementer:
Så får vi:
En sådan matrix, hvor du multiplicerer k med en matrix, kaldes for skalarmultiplikation.
Multiplikation af matricer
Hvis vi har to matricer A og B, og antallet af søjler i A er lig med antallet af rækker i B, så betyder
det at matricerne kan godt multipliceres med hinanden.
Eksempelvis:
Matricen A har to rækker og tre søjler, hvor matricen B har tre rækker og tre søjler. Dvs. at antallet
af søjler i A er lig med antallet af rækker i B.
Når man skal multiplicere to matricer sammen, skal første række i matricen A, multipliceres med
første søjle i matricen B og så skal første række multipliceres med anden søjle osv. Efter hver
multiplikation skal produkterne lægges sammen. Vi prøver at multiplicere A med B (Multiplikation af
matricerne kan også ses ved farverne):
Dvs.
6
Addition og Subtraktion
Addition (eller subtraktion) af to matricer sker ved at tilføje (eller trække) elementerne i tilsvarende
stillinger i matricer. Derfor skal de to matricer være af samme størrelse. Det produkt man får ud af
addition eller subtraktion af de to matricer, bliver en anden matrix af samme størrelse.
Eksempel på Addition af to matricer:
Eksempel på subtraktion af matrice A og B:
Determinantmetoden (Cramers sætning) Determinanten af en matrix er en værdi beregnet ud fra indgangene i matricen. Determinant
metoden har forskellige anvendelser inden for ingeniørarbejde, herunder invers (reciprokke)
matricer og løse systemer af samtidige ligninger.
Determinanten for en 2 x 2 matrix A, er defineret som:
Determinanten af matricen , findes ved at multiplicere og så trække fra:
Det vil sige, at determinanten af matricen A er lig med 13.
7
Transponeret matrix
Den transponerede matrix er en ny matrix, hvor rækkerne af den oprindelige matrix bliver til
søjlerne i den ny matrix. Vi bruger hævet T til den nye transponerede matrix.
Eksempel: Matrix
Og dens transponerede matrix bliver:
Hvis vi betragter et par af de elementer, kan vi se at værdien i position (3,1) er nu flyttet til position
(3,1), og at værdien i position (4,3) er nu flyttet til position (3,4). En sådan transponering af en
matrix kaldes for den transponerede matrix.
Lineære ligningssystemer
Lineære ligningssystemer kan basalt betegnes som tre ligninger med tre ubekendte, eller rettet sagt
hvor der er lige mange antal ligninger og ubekendte. Nedenunder fremgår et eksempel på et
ligningssystem:
Ligningssystemet kan nu opskrives således:
For nemheds skyld implementeres de alle i en tabel (A . X = B)
Dette ligningssystem kaldes for koefficientmatrix
samt
8
Løsning af en sådan ligning, kræver en bekendtgørelse af den inverse matrix (reciprok) A-1
Hvor:
Enhedsmatrix
Når der er tale om en enhedsmatrix, så skal der forstås at der er tale om en kvadratisk n x n matrix,
hvor alle elementer i diagonalen er 1 og alle de andre elementer udenfor diagonalen er 0.
Enhedsmatrix skrives som E eller En.
Eksempelvis er
en 3 x 3 enhedsmatrix.
Invers matrix
Hvis determinanten for en matrix A er forskellige fra nul, findes der en matrix A-1
, som opfylder:
Matrix A-1
kaldes A’s inverse matrix.
For at finde den inverse matrix til en (2x2)-matrix A, hvis determinanten ikke er nul.:
. Så er den inverse matrix A-1
For at vise, at dette er sandt, udregnes
Det vil sige, at A-1
er den inverse matrix til matricen A, som er sandt.
9
Rækkeoperationer
Et lineært ligningssystems løsningsmængde ændrer sig ikke, hvis:
a) To ligninger ombyttes – svarende til rækkeombytning i totalmatricen T.
b) En ligning multipliceres med en konstant - svarende til en række i T multipliceres
med
c) En ligning - svarende til at den q’te række i T multipliceres med k og adderes til
den p’te række . Dette kaldes en rækkeoperation i T og skrives kort .
To matricer A og B er rækkeækvivalente (Skrives ), hvis de overføres i hinanden ved en
eller flere af de i punkterne a), b) og c) nævnte ændringer.
Ved brug af rækkeoperationer kan man omforme totalmatricen til en matrix med lutter 0’er
under diagonalen. Det giver et ligningssystem, der er forholdsvis simpelt at løse ved ”baglæns
regninger”.
Eksempel til rækkeoperationen kan ses under afsnit ”Eksempel tre ligninger med tre ubekendte”.
Echelon – matrix
Echelon – matrix betyder trinvis opstilling med skrå front. En sådan matrix er karakteriseret ved:
1) at rækker, som består af lutter 0’er er placeret nederst i matricen, og for de øvrige rækker
gælder
2) at i en række er det første fra 0 forskellige tal i rækken et 1-tal. Tallet kaldes for rækkens
”ledende” 1–tal,
3) at for to på hinanden følgende rækker vil det ledende 1-tal i den nederste af de to rækker stå
længere til højre end det ledende 1-tal i den øverste af de to rækker.
Andre eksempler på echelon – matricer er:
Bemærk, at ethvert ledende 1-tal har lutter 0’er under sig.
Gauss’ elimination
Det førstetrin i Gauss elimination er at eliminere en variabel i hver ligning, som indeholder den
samme variabel. Denne eliminationsmetode kaldes for Gauss’ elimination
10
Eksempel på ”Gauss’ elimination” kan ses under afsnit ”Eksempel 3 ligninger med 3 ubekendte”.
Eksempel på 3 ligninger med 3 ubekendte
Som et eksempel skal jeg løse nedenstående ligningssystem ved brug af matrixregning (x, y og z er
ukendte reelle tal):
I slutning af opgaven, skal jeg kontrollere min løsning.
For at løse opgaven bruger jeg ”Gauss Elimination”. Da der er lige mange ligninger og ubekendte,
beregner jeg dens inverse matrix. Jeg skriver ligningerne til totalmatrixform.
Jeg reducerer nu totalmatrix til Echelon – form:
Vi multiplicere 2.række (r2) med -2, og lægger den til 1.ligning (r1), så kan man eliminere x (x2),
dvs.:
Nu kan jeg isolere z (z2) i anden ligning (r2).
For at isloere x (x3) i tredje række (r3), indsætter jeg z-værdien i tredje ligning (r3):
For at finde y (y1), indsætter vi x- og z-værdierne ind i første ligning (r1):
(1. ligning)
(2. ligning)
(3. ligning)
11
Det vil sige, at de tre ubekendte reelle tal (x, y og z) er:
For at kontrollere min løsning, kan jeg indsætte x-, y- og z-værdierne i de tre ligninger med tre
ubekendte og de skal give henholdsvis 11, 1 og 0:
Dvs. at de tre ukendte reelle tal x, y og z er beregnet rigtige.
Matricer i informationsteknologi
Der er mange anvendelsesmuligheder for matricer i hverdagen. Et eksempel på, hvordan matricer
kan anvendes, er kryptering. Når en programmør krypterer eller koder en besked, kan han bruge
matricer og dens inverse matrix. Handel på nettet ville heler ikke være sikkert nok med
betalingskort, da det også virker under samme princip. Matricer bruges også til at tegne grafer og
statistikker. Matricer bruges også til at beregne bruttonationalproduktet (BNP) i økonomi, og
dermed hjælpe i beregning af at producere varer mere effektivt. Matricer er også blevet undertiden
en meget nyttige måde til computer animation (3D-animation). De kan også bruges som etiketter for
eleverne at holde styr på. For eksempel til at udfylde skemaet, til at lave meningsmålinger, til
12
afrunding af tid til hele tal, fx videnskabsmænd kan bruge matricer til at registrere data fra deres
eksperimenter osv.
Jeg har produceret et matrix–beregningsprogram. Det programmet kan, er at omforme de indtastede
elementværdierne til totalmatrixform. Programmet kan også vise, hvor mange rækker og kolonner
matricen indeholder.
Eksempel:
public static void outputArray(int[][] array) {
for(int i = 0; i <= 1; i++) {
System.out.print("[");
for(int j = 0; j <= 2; j++) {
System.out.print(" " + array[i][j]);
}
System.out.println(" ]");
}
System.out.println();
}
(Java–koden til beregningsprogrammet kan ses under bilaget på side 16)
Analyse af matrixregning i IT
Jeg har valgt at analysere et spil, der hedder ”Doom 3”. Her er del af koderne til den
fysiskbevægelse af selve spilleren, fx at hovedpersonen skal samle et våben op eller løbe osv.
void idPhysics_RigidBody::ReadFromSnapshot( const idBitMsgDelta &msg ) {
idCQuat quat, localQuat;
current.atRest = msg.ReadLong();
current.i.position[0] = msg.ReadFloat();
current.i.position[1] = msg.ReadFloat();
current.i.position[2] = msg.ReadFloat();
quat.x = msg.ReadFloat();
Figur 1: Dette er et billede af den totalmatrixformet matrix, hvor der bliver både vist antal rækker og antal kolonner.
13
quat.y = msg.ReadFloat();
quat.z = msg.ReadFloat();
current.i.linearMomentum[0] = msg.ReadFloat(
RB_MOMENTUM_EXPONENT_BITS, RB_MOMENTUM_MANTISSA_BITS );
current.i.linearMomentum[1] = msg.ReadFloat(
RB_MOMENTUM_EXPONENT_BITS, RB_MOMENTUM_MANTISSA_BITS );
current.i.linearMomentum[2] = msg.ReadFloat(
RB_MOMENTUM_EXPONENT_BITS, RB_MOMENTUM_MANTISSA_BITS );
current.i.angularMomentum[0] = msg.ReadFloat(
RB_MOMENTUM_EXPONENT_BITS, RB_MOMENTUM_MANTISSA_BITS );
current.i.angularMomentum[1] = msg.ReadFloat(
RB_MOMENTUM_EXPONENT_BITS, RB_MOMENTUM_MANTISSA_BITS );
current.i.angularMomentum[2] = msg.ReadFloat(
RB_MOMENTUM_EXPONENT_BITS, RB_MOMENTUM_MANTISSA_BITS );
current.localOrigin[0] = msg.ReadDeltaFloat(
current.i.position[0] );
current.localOrigin[1] = msg.ReadDeltaFloat(
current.i.position[1] );
current.localOrigin[2] = msg.ReadDeltaFloat(
current.i.position[2] );
localQuat.x = msg.ReadDeltaFloat( quat.x );
localQuat.y = msg.ReadDeltaFloat( quat.y );
localQuat.z = msg.ReadDeltaFloat( quat.z );
current.pushVelocity[0] = msg.ReadDeltaFloat( 0.0f,
}
I fysikkens verden, er et ”RigidBody” en idealisering af en solidekrop endelig størrelse.
Det betyder at afstanden forbliver mellem to givne punkter af en stiv krop konstant i tiden. Det der
sker i koden er at der bliver indhentet tre konstant talværdier udefra nogle punkter (const)
idBitMsgDelta, som fx:
localQuat.x = msg.ReadDeltaFloat( quat.x );
localQuat.y = msg.ReadDeltaFloat( quat.y );
localQuat.z = msg.ReadDeltaFloat( quat.z );
Til sidst bliver der dannet en kropbevægelse til 2 gange 3 matricer.
current.i.orientation = quat.ToMat3();
current.localAxis = localQuat.ToMat3();
Konklusion
Hermed kan jeg konkludere at jeg har redegjort for matrixregning, hvor jeg udførligt har vist med
eksempler. Jeg kan også konkludere, at det er meget nemmere, at bruge matricer til at beregne tre
ligninger med tre ubekendte. Jeg har også fundet ud af at matricer bl.a. kan bruges til at samle data.
Matrixregning kan bruges til bl.a. programmering, så som omforme ligninger til totalmatrix form
vha. mit Java–program.
14
Litteraturliste
Bøger:
Forfattere: M. Etter, Delores og A. Ingber, Jeanine
Titel: Engineering Problem Solving with C++
Forlag: Pearson International Inc.
Udgave: 2. Udgave
Årstal: 2008
Sidenumre: 316 – 335
Bøger:
Forfattere: Hansen, Frank og Nørgaard Olesen, Mogens
Titel: Lineær Algebra
Forlag: Akademisk Forlag København
Udgave: 1. udgave
Årstal: 2007
Sidenumre: 43 – 56, 59 – 64, 185 – 188.
Bøger:
Forfattere: Hellesen, Bjarne og Oddershede Larsen, Mogens
Titel: Matematik for ingeniører
Forlag: Danmarks Tekniske Universitet
Udgave: 1. udgave
Årstal: 2008
Sidenumre: 170 – 191
15
Internet Websites
Navn Links Udgivet
Khan
Academy
http://www.khanacademy.org/video/introduction-to-
matrices?playlist=Linear%20Algebra 07/06/2008
Khan
Academy
http://www.khanacademy.org/video/matrix-multiplication--part-
1?playlist=Linear%20Algebra 07/06/2008
Khan
Academy
http://www.khanacademy.org/video/matrix-multiplication--part-
2?playlist=Linear%20Algebra 07/06/2008
Khan
Academy
http://www.khanacademy.org/video/inverse-matrix--part-
1?playlist=Linear%20Algebra 08/06/2008
Khan
Academy
http://www.khanacademy.org/video/inverting-matrices--part-
2?playlist=Linear%20Algebra 08/06/2008
Khan
Academy
http://www.khanacademy.org/video/inverting-matrices--part-
3?playlist=Linear%20Algebra 08/06/2008
Khan
Academy
http://www.khanacademy.org/video/matrices-to-solve-a-system-of-
equations?playlist=Linear%20Algebra 14/06/2008
Khan
Academy
http://www.khanacademy.org/video/matrices-to-solve-a-vector-
combination-problem?playlist=Linear%20Algebra 14/06/2008
Khan
Academy
http://www.khanacademy.org/video/singular-
matrices?playlist=Linear%20Algebra 15/06/2008
Khan
Academy
http://www.khanacademy.org/video/3-variable-linear-equations--part-
1?playlist=Linear%20Algebra 07/02/2008
Khan
Academy
http://www.khanacademy.org/video/solving-3-equations-with-3-
unknowns?playlist=Linear%20Algebra 11/04/2009
16
Bilag
Totalmatrix
public class TotalMatrix {
/**
* @param args
*/
public static void main(String[] args) {
int array[][]= {{1,2,5},{9,4,6}};
System.out.println("Antal Rækker= " +
array.length);
System.out.println("Antal Kolonner = " +
array[1].length);
outputArray(array);
}
public static void outputArray(int[][] array)
{
for(int i = 0; i <= 1; i++) {
System.out.print("[");
for(int j = 0; j <= 2; j++) {
System.out.print(" " + array[i][j]);
}
System.out.println(" ]");
}
System.out.println();
}
}
Top Related