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 m
ultiplikation
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



Back