Contents

Dokumentowanie - copy/paste i diary

diary on

% Zmienne
namelengthmax
iskeyword('pi')
iskeyword
zmienna_1 = 10

% zmienna 1 = 10 % spacja w nazwie
Zmienna_1 = 100 %case sensitive
camelCaps  = 112345 % złożona nazwa zmiennej

% 6 = zmienna % nazwaZmiennej = wyrażenie !!!
% xxx % odwołanie się do nieistniejącej zmiennej
ans =

    63


ans =

     0


ans = 

    'break'
    'case'
    'catch'
    'classdef'
    'continue'
    'else'
    'elseif'
    'end'
    'for'
    'function'
    'global'
    'if'
    'otherwise'
    'parfor'
    'persistent'
    'return'
    'spmd'
    'switch'
    'try'
    'while'


zmienna_1 =

    10


Zmienna_1 =

   100


camelCaps =

      112345

Często używane stałe - zapis w skrypcie np. mojestale.m

g = 9.81 % Przyspieszenie ziemskie
avo = 0.023e23 % Liczba Avogadro
e = exp(1) % Podstawa logarytmu naturelanego
pi_4 = pi/4; % Wartość kąta 90 deg w radianach
bar2kPa = 11.325 % Wspołczynnik konwersji bar na kPa
g =

    9.8100


avo =

   2.3000e+21


e =

    2.7183


bar2kPa =

   11.3250

Przestrzeń robocza - zarzadzanie

who
whos

%
ps = who
PS = whos

%
durerNamesInfo = who('-file', 'durer');
durerFullInfo = whos('-file', 'durer');
Your variables are:

PS              c               mat2            w2              
R200            camelCaps       mat_1           w3              
RGB             durerFullInfo   mat_2           wektor          
RGB200          durerNamesInfo  mat_3           wiersz          
Zmienna_1       e               mat_4           x               
a               g               pi_4            zera43          
ans             k1              ps              zera432         
avo             k2              r               zera4325        
b               k3              sr              zmienna_1       
bar2kPa         kolumna         w1              

  Name                  Size                 Bytes  Class     Attributes

  PS                   10x1                  14744  struct              
  R200                  1x1                      1  uint8               
  RGB                 650x600x3            1170000  uint8               
  RGB200                3x1                      3  uint8               
  Zmienna_1             1x1                      8  double              
  a                     1x5                     40  double              
  ans                  20x1                   2462  cell                
  avo                   1x1                      8  double              
  b                     1x2                     16  double              
  bar2kPa               1x1                      8  double              
  c                     1x5                     40  double              
  camelCaps             1x1                      8  double              
  durerFullInfo         3x1                   4818  struct              
  durerNamesInfo        3x1                    358  cell                
  e                     1x1                      8  double              
  g                     1x1                      8  double              
  k1                    6x1                     48  double              
  k2                    6x1                     48  double              
  k3                    6x1                     48  double              
  kolumna               4x1                     32  double              
  mat2                  6x6                    288  double              
  mat_1                 6x3                    144  double              
  mat_2                 3x6                    144  double              
  mat_3                 3x6                    144  double              
  mat_4                 7x2                    112  double              
  pi_4                  1x1                      8  double              
  ps                    9x1                   1100  cell                
  r                     1x7                     56  double              
  sr                    1x4                     32  double              
  w1                    1x6                     48  double              
  w2                    1x6                     48  double              
  w3                    1x6                     48  double              
  wektor                1x10                    80  double              
  wiersz                1x5                     40  double              
  x                     1x7                     56  double              
  zera43                4x3                     96  double              
  zera432               4x3x2                  192  double              
  zera4325              4-D                    960  double              
  zmienna_1             1x1                      8  double              


ps = 

    'PS'
    'R200'
    'RGB'
    'RGB200'
    'Zmienna_1'
    'a'
    'ans'
    'avo'
    'b'
    'bar2kPa'
    'c'
    'camelCaps'
    'durerFullInfo'
    'durerNamesInfo'
    'e'
    'g'
    'k1'
    'k2'
    'k3'
    'kolumna'
    'mat2'
    'mat_1'
    'mat_2'
    'mat_3'
    'mat_4'
    'pi_4'
    'ps'
    'r'
    'sr'
    'w1'
    'w2'
    'w3'
    'wektor'
    'wiersz'
    'x'
    'zera43'
    'zera432'
    'zera4325'
    'zmienna_1'


PS = 

39x1 struct array with fields:

    name
    size
    bytes
    class
    global
    sparse
    complex
    nesting
    persistent

Tablice jednowymiarowe: wektor wierszowy

Inicjalizacja

wektor = [11 31 0 -15 5] % Elementy oddzielone spacjami
disp(wektor);
wektor = [15, 16, 17] % Elementy oddzielone przecinkami

% Jaki będzie wynik jeśli zapomnimy o spacjach/przecinkach
x = [15 -15]
x = [15-15]
x = [15 - 15]

% Inicjalizacja z uzyciem innych wektorów
a = [ 1 2 3]
b = [-4 -5]
c = [a -b]

% lub tak
a = [3 71 111]
a = [a 0 -1]

% Pusta tablica
x = [ ]; % posta tablica o rozmiarze 0x0

% Operator dwukropka
wektor = 1 : 10	% wartości całkowite 1, 2, …, 10
wektor = 1 : 0.5 : 10	% wartości 1, 1.5, 2, …, 10 (krok 0,5)
wektor = 10 : -1 : 1	% wartości całkowite 10, 9, …,1 (krok -1)
wektor = 1 : 2 : 6	% wartości 1, 3, 5 (krok 2, 5+2>6)
wektor = 0 : -2 : -5	% wartości całkowite 0, -2, -4 (krok -2)
wektor = 1 : 0	% wektor pusty o rozmiarze 1x0

% Funkcja linspace
wektor = linspace(0,pi/2,10)

% Transpozycja wektora - wektor kolumnowy
wiersz = 1:5
wiersz'
kolumna = [7 4 9 0 1 -5]'
kolumna= [1; 2; 3; 4;]
wektor =

    11    31     0   -15     5

    11    31     0   -15     5


wektor =

    15    16    17


x =

    15   -15


x =

     0


x =

     0


a =

     1     2     3


b =

    -4    -5


c =

     1     2     3     4     5


a =

     3    71   111


a =

     3    71   111     0    -1


wektor =

     1     2     3     4     5     6     7     8     9    10


wektor =

  Columns 1 through 7

    1.0000    1.5000    2.0000    2.5000    3.0000    3.5000    4.0000

  Columns 8 through 14

    4.5000    5.0000    5.5000    6.0000    6.5000    7.0000    7.5000

  Columns 15 through 19

    8.0000    8.5000    9.0000    9.5000   10.0000


wektor =

    10     9     8     7     6     5     4     3     2     1


wektor =

     1     3     5


wektor =

     0    -2    -4


wektor =

   Empty matrix: 1-by-0


wektor =

  Columns 1 through 7

         0    0.1745    0.3491    0.5236    0.6981    0.8727    1.0472

  Columns 8 through 10

    1.2217    1.3963    1.5708


wiersz =

     1     2     3     4     5


ans =

     1
     2
     3
     4
     5


kolumna =

     7
     4
     9
     0
     1
    -5


kolumna =

     1
     2
     3
     4

Indeksowanie wektorów

r = rand(1,7) % Wektor 7 liczb losowych
r(3) % Odwołanie się do elementu o indeksie 3
r([1 7 2 6]) % Wykorzystanie wektora indeksów
r(2:4) % Wykorzystanie wektora indeksów
sr = r(1:2:7) % Wykorzystanie wektora indeksów
r([1 7 2]) = 121 % Zmiana wartości wybranych elementów wektora
r([1 5 1 5 1 5 1 5 1 5 1])
r([1 7 2]) = [] % Usunięcie elementów o indeksach 1, 7 i 2.
r(end:-1:1)
r(end+3)=123
r =

    0.5469    0.9575    0.9649    0.1576    0.9706    0.9572    0.4854


ans =

    0.9649


ans =

    0.5469    0.4854    0.9575    0.9572


ans =

    0.9575    0.9649    0.1576


sr =

    0.5469    0.9649    0.9706    0.4854


r =

  121.0000  121.0000    0.9649    0.1576    0.9706    0.9572  121.0000


ans =

  Columns 1 through 7

  121.0000    0.9706  121.0000    0.9706  121.0000    0.9706  121.0000

  Columns 8 through 11

    0.9706  121.0000    0.9706  121.0000


r =

    0.9649    0.1576    0.9706    0.9572


ans =

    0.9572    0.9706    0.1576    0.9649


r =

    0.9649    0.1576    0.9706    0.9572         0         0  123.0000

Tablice dwuwymiarowe - macierze

% wektor wierszowy kolumn
k1 = [7 4 9 0 1 -5]'
k2 = [-1 -3 5 1 9 11]'
k3 = [12 -4 0 -2 -6 2]'
mat_1 = [k1 k2 k3]

% wektor kolumnowy wierszy
w1 = [7 4 9 0 1 -5]
w2 = [-1 -3 5 1 9 11]
w3 = [12 -4 0 -2 -6 2]
mat_2 = [w1; w2; w3]
mat_3 = [7 4 9 0 1 -5; -1 -3 5 1 9 11; 12 -4 0 -2 -6 2]

% mat3 = [7 4 9 0 1 -5; -1 -3 5 1 9 11; 12 -4 0 -2 -6 ]
x = 0:30:180;
mat_4 = [x' sind(x)']
k1 =

     7
     4
     9
     0
     1
    -5


k2 =

    -1
    -3
     5
     1
     9
    11


k3 =

    12
    -4
     0
    -2
    -6
     2


mat_1 =

     7    -1    12
     4    -3    -4
     9     5     0
     0     1    -2
     1     9    -6
    -5    11     2


w1 =

     7     4     9     0     1    -5


w2 =

    -1    -3     5     1     9    11


w3 =

    12    -4     0    -2    -6     2


mat_2 =

     7     4     9     0     1    -5
    -1    -3     5     1     9    11
    12    -4     0    -2    -6     2


mat_3 =

     7     4     9     0     1    -5
    -1    -3     5     1     9    11
    12    -4     0    -2    -6     2


mat_4 =

         0         0
   30.0000    0.5000
   60.0000    0.8660
   90.0000    1.0000
  120.0000    0.8660
  150.0000    0.5000
  180.0000         0

Tablice wielowymiarowe

zera43 = zeros(4,3)
zera432 = zeros(4,3,2)
zera4325 = zeros(4,3,2,5)
zera43 =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera432(:,:,1) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera432(:,:,2) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,1,1) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,2,1) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,1,2) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,2,2) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,1,3) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,2,3) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,1,4) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,2,4) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,1,5) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0


zera4325(:,:,2,5) =

     0     0     0
     0     0     0
     0     0     0
     0     0     0

RGB = imread('ngc6543a.jpg');

Indeksowanie macierzy i tablic

mat2 = magic(6)
mat2(2:4, 3:end)
mat2(4:-1:2, 3:end)
mat2(2:4, :)
mat2(:, 2:3)
mat2(end:-1:1,:)
mat2(3:5,3:5) = 3355
% mat2(:,3) = 1:7
mat2 =

    35     1     6    26    19    24
     3    32     7    21    23    25
    31     9     2    22    27    20
     8    28    33    17    10    15
    30     5    34    12    14    16
     4    36    29    13    18    11


ans =

     7    21    23    25
     2    22    27    20
    33    17    10    15


ans =

    33    17    10    15
     2    22    27    20
     7    21    23    25


ans =

     3    32     7    21    23    25
    31     9     2    22    27    20
     8    28    33    17    10    15


ans =

     1     6
    32     7
     9     2
    28    33
     5    34
    36    29


ans =

     4    36    29    13    18    11
    30     5    34    12    14    16
     8    28    33    17    10    15
    31     9     2    22    27    20
     3    32     7    21    23    25
    35     1     6    26    19    24


mat2 =

          35           1           6          26          19          24
           3          32           7          21          23          25
          31           9        3355        3355        3355          20
           8          28        3355        3355        3355          15
          30           5        3355        3355        3355          16
           4          36          29          13          18          11

R200 = RGB(200,200,1)
RGB200 = RGB(200,200,:)
RGB200 = squeeze(RGB200)
R200 =

  103


RGB200(:,:,1) =

  103


RGB200(:,:,2) =

   21


RGB200(:,:,3) =

   23


RGB200 =

  103
   21
   23