Matrisräkning
Att skapa matriser
Utskriftsformat
Noll- och ettvektorer
Matriser med slumptal
Diagonalmatriser och
enhetsmatriser
Vektoraddition och
liknande operationer
Här följer
några sätt att skapa matriser
>> A = [1 2 3; 4 5
6] % ; radbyte som
tidigare
A =
1
2 3
4
5 6
>>
A'
% transponat
ans =
1 4
2 5
3 6
>> A(2, 3) = 55 %
rad 2, kolonn 3
A =
1
2 3
4 5
55
>> A(3, 3) =
9 % storleken
utökas automatiskt
A =
1
2 3
4 5
55
0
0 9
>> a = A(4, 3) + 1 % men inte
här, givetvis
??? Index exceeds matrix dimensions.
>> % Funktioner appliceras
normalt elementvis, inga loopar behövs
>> sqrt(A)
ans =
1.0000 1.4142
1.7321
2.0000 2.2361
7.4162
0 0
3.0000
Noll- och ettmatriser.
>> Z = zeros(3, 2)
Z =
0 0
0 0
0 0
>> O = ones(3) % blir 3 x 3
O =
1
1 1
1
1 1
1
1 1
Matriser med slumptal
Fungerar som för vektorer.
>> rand(2)
% likformig
fördelning
ans =
0.7621 0.0185
0.4565 0.8214
>> randn(2, 3)
% normalfördelning
ans =
1.1909 -0.0376 0.1746
1.1892 0.3273 -0.1867
Diagonalmatriser och
enhetsmatriser
>> M = magic(3) %
skapa en magisk matris
M =
8 1 6
3 5 7
4 9 2
>> d =
diag(M) % plocka ut
diagonalen
d =
8
5
2
>> D =
diag(d) % skapa en
diagonalmatris
D =
8 0 0
0 5 0
0 0 2
>>
eye(3) % en enhetsmatris,
identity matrix på eng. ("eyedentity")
ans =
1 0 0
0 1 0
0 0 1
Matrisaddition och liknande operationer
Om matrisen A har m rader och n kolonner säger vi
att A är en m x n-matris. Antalet rader och kolonner är
matrisens dimension. Om m = n så säger vi att matrisen
är kvadratisk.
Matrisadditionen, C = A + B, är definierad när A och B har
samma dimension. I Matlab är det möjligt att
addera en skalär (tal) till en matris. Additionen sker då
elementvis.
Antag att A är m x n och att B är p x r (där ingen av A
eller B är en skalär). Matrismultiplikationen, C = A * B,
är definierad då n = p. Resultatmatrisen, C, blir m x r.
Multiplikation med skalär sker elementvis.
>> A = [1 2; 3 4] %
skapa lite data
A =
1 2
3 4
>> B = [3 4; 1 2]
B =
3 4
1 2
>> A *
B % vanlig
matrismultiplikation
ans =
5 8
13 20
>> A + B
% matrisaddition
ans =
4 6
4 6
>> 3 *
A %
skalär * matris
ans =
3 6
9 12
>> A -
5 % matris
+ (eller -) skalär
ans =
-4 -3
-2 -1
>> A .* B %
elementvis multiplikation
ans =
3 8
3 8
>> A ./ B
% elementvis divison, A genom B
ans =
3.3333e-01 5.0000e-01
3.0000e+00 2.0000e+00
>> A .\ B % elementvis
divison, B genom A
ans =
3.0000e+00 2.0000e+00
3.3333e-01 5.0000e-01
>> IA = inv(A) % A:s invers
IA =
-2.0000e+00 1.0000e-00
1.5000e+00 -5.0000e-01
>> A * IA %
A * IA (liksom IA * A) blir (ungefär) enhetsmatrisen
ans =
1.0000e+00
0
8.8818e-16 1.0000e-00
>> A /
B %
ungefär A * inv(B), men beräknas på ett annat sätt
ans =
0 1
1 0
>> A \
B %
ungefär inv(A) * B
ans =
-5.0000e+00 -6.0000e+00
4.0000e+00 5.0000e+00
>>
A^2
% A * A
ans =
7 10
15 22
>>
A.^2
% elementvis kvadrering
ans =
1 4
9 16
>>
A.^A
% a(j, k)^a(j, k)
ans =
1 4
27 256
