GENERAL

déclarations initiales


In [27]:
MAT = [ 1 2; 3 4; 5 6 ]  ;

Declaration


In [7]:
function [y1, y2] = maFonction(x)           %Take one parameter, return two values
    y1 = x + 1;
    y2 = x + 2;
endfunction

[x,y] = maFonction(3)


x =  4
y =  5
ans =

   4   5

Variable


In [51]:
v = 1:0.2:2                                 %1 a 2 par pas de 0.1
disp(sprintf('yo : %0.2f', 3.14))           %print
who  %returns variable in the scope
whos %more detailed size, byte...
clear  %Delete all from scope


v =

    1.0000    1.2000    1.4000    1.6000    1.8000    2.0000

yo : 3.14
Variables in the current scope:

v

Variables in the current scope:

   Attr Name        Size                     Bytes  Class
   ==== ====        ====                     =====  ===== 
        v           1x6                         24  double

Total is 6 elements using 24 bytes

Opération sur les fichiers


In [1]:
data = load('ex1data1.txt') % read comma separated data
X = data(:, 1); y = data(:, 2);
m = length(y);


error: load: unable to find file ex1data1.txt
error: 'data' undefined near line 1 column 5
error: 'y' undefined near line 1 column 12
error: evaluating argument list element number 1

Matrices

Declaration


In [20]:
[ 1 2; 3 4; 5 6 ]       % 3 lignes * 2 colonnes
ones(2,3)               % Matrice pleine de 1
rand (x,y)              % Matrice aleatoire
eye (3)                 % Matrice identitaire z * z


ans =

   1   2
   3   4
   5   6

ans =

   1   1   1
   1   1   1

ans =

   0.150118   0.838009   0.840189   0.076050   0.157609
   0.054731   0.472714   0.279571   0.105633   0.063376
   0.271225   0.812001   0.108169   0.544239   0.969135
   0.874783   0.263758   0.190662   0.743045   0.513219

ans =

Diagonal Matrix

   1   0   0
   0   1   0
   0   0   1

Informations


In [28]:
size(MAT)          %renvoi les deux dimensions
length(MAT)        %renvoi la plus grande dimension


ans =

   3   2

ans =  3

Acces, selection


In [32]:
C = MAT (:,1)                   % toutes les lignes premiere column
C = MAT ([1,3], :)              % premier et 3e lignes toutes les colonnes
[raw,col] = find( MAT >= 4 )    % renvoi dans r et c, les raw et column qui >= 7
max (MAT, [], 1)                % Max par colonne, remplacer 1 par 2 pour faire par ligne
max (MAT (:))                   % Max de toute la matrice en la transformant en matrice colonne


C =

   1
   3
   5

C =

   1   2
   5   6

raw =

   3
   2
   3

col =

   1
   2
   2

ans =

   5   6

ans =  6

Operations, Manipulations


In [36]:
[MAT, [7; 8; 9]]            % ajoute une colonne a droite de la matrice
MAT .* MAT                  % multiplication case par case correspondantes
MAT'                        % transpose
sum (MAT, 1)                % Somme chaque colonne, renvoi un vecteur (2 pour lignes)


ans =

   1   2   7
   3   4   8
   5   6   9

ans =

    1    4
    9   16
   25   36

ans =

   1   3   5
   2   4   6

ans =

    9   12


PLOT


In [39]:
x = [0: 0.01: 0.98];
y1 = sin (2*pi*4*x);
y2 = cos (2*pi*4*x);

Options et plot


In [41]:
plot (x, y1);               %first plot
hold on;                    %Draw on the same window
plot (x, y2, 'r')           %In red

legend ('sin', 'cos')
xlabel ('time')
ylabel ('value')
title ('My Plot')
axis ([0, 1, -1, 1])    %Set axis x y


subplot


In [44]:
subplot (1,2,1)         %Divides plot a 1x2 grid, acces the first element
plot (x, y1)
subplot (1,2,2)         %Selects the second subplot
plot (x, y2)


Type de Plot


In [48]:
x = rand(1, 100);
hist(x,10)



In [ ]: