matlab 機器學習入門

根據吳恩達機器學習教程總結,在matlab、octave都可使用機器學習

Matlab進行標量運算ide

>> 5 + 5函數

ans =學習

    10spa

>> 6 * 2scala

ans =orm

    12教程

>> 3^2ip

ans =ci

     9

>> 3/2

ans =

1.5000

變量賦值

>> a = 3

a =

     3

賦值語句後面加; 能夠不輸出結果

>> q = 3;

>> q

 

q =

 

     3

字符輸入時必須是單引號

>> b ='hi';

>> b

b =

hi

並 或 運算

>> 1 && 0

ans =

     0

>> 1||1

ans =

     1

比較語句

>> 2 > 3

ans =

     0

輸出字符串

>> a =pi

a =

    3.1416

>> disp(a)

    3.1416

>> disp(sprintf('2 decimals: %0.2f',a))

2 decimals: 3.14

>> sprintf('hi')

ans =

hi

矩陣表示:

>> A = [1 2;3 4]

A =

 

     1     2

     3     4

向量表示

>> V = [1;2;3]

 

V =

 

     1

     2

     3

從 1 開始 到2 終止步長爲0.1的行向量

>> V = 1:0.1:2

 

V =

 

    1.0000    1.1000    1.2000    1.3000    1.4000    1.5000    1.6000    1.7000    1.8000    1.9000    2.0000

1X2 全爲1 矩陣

>> ones(1,2)

 

ans =

 

     1     1

2X2全爲0矩陣

>> zeros(2,2)

 

ans =

 

     0     0

     0     0

隨機1X3 的矩陣

>> rand(1,3)

 

ans =

 

    0.8147    0.9058    0.1270

 

對角線爲全爲1 的單位矩陣

>> eye(4)

 

ans =

 

     1     0     0     0

     0     1     0     0

     0     0     1     0

     0     0     0     1

help 查看內置函數的用法

>> help eye

 eye Identity matrix.

    eye(N) is the N-by-N identity matrix.

 

    eye(M,N) or eye([M,N]) is an M-by-N matrix with 1's on

    the diagonal and zeros elsewhere.

 

    eye(SIZE(A)) is the same size as A.

 

    eye with no arguments is the scalar 1.

 

    eye(..., CLASSNAME) is a matrix with ones of class specified by

    CLASSNAME on the diagonal and zeros elsewhere.

 

    eye(..., 'like', Y) is an identity matrix with the same data type, sparsity,

    and complexity (real or complex) as the numeric variable Y.

 

    Note: The size inputs M and N should be nonnegative integers.

    Negative integers are treated as 0.

 

    Example:

       x = eye(2,3,'int8');

 

    See also speye, ones, zeros, rand, randn.

 

    eye 的參考頁

    名爲 eye 的其餘函數

判斷矩陣的形狀

>> size(a)

 

ans =

 

     1     1

 

>> size(A,1)

 

ans =

 

     2

 

>> v = [1 2 3 4]

 

v =

 

     1     2     3     4

 

>> size(v)

 

ans =

 

     1     4

 

>> length(v)

 

ans =

 

     4

顯示當前工做目錄(與Linux較爲類似)

>> pwd

 

ans =

 

C:\Program Files\MATLAB\R2016a

進入某一目錄

>> cd 'C:\Users\scz\Desktop'

>> pwd

 

ans =

 

C:\Users\scz\Desktop

顯示當前目錄下全部文件

>> ls

 

.                                                                                                                                                      

..                                                                                                                                                      

1.docx                                                                                                                                                  

123

讀入文件,並保存到變量中                                                                                                                                                   

>> load('loldata.csv')

>> loldata

 

loldata =

 

    7.0000    5.0000    2.0000    0.9329   28.7941    5.9861    4.5984

    2.0000    1.0000    3.0000    0.4512    2.5701    0.9661    1.2014

    7.0000    5.0000    3.0000    0.8364   21.6821    6.0617    3.8332

   19.0000    2.0000    1.0000    1.0947   36.3245   12.7096    3.7969

    4.0000    2.0000    4.0000    0.8193   19.6814    2.3778    1.3344

    2.0000    9.0000    2.0000    0.7157   14.4339    3.3351    6.3405

         0   10.0000    6.0000    0.7573   12.3280    2.1769    5.3543

    8.0000    5.0000    1.0000    0.9012   20.2787    5.1798    3.9495

    3.0000    7.0000    1.0000    0.7876   10.5917    2.2607    6.4620

    1.0000    8.0000    4.0000    0.6336    5.9939    1.8080    5.9950

 

>> size(loldata)

 

ans =

 

    10     7

顯示當前全部變量

>> who

 

您的變量爲:

 

A        V        a        ans      b        c        loldata  q        v       

全部變量具體信息

>> whos

  Name          Size            Bytes  Class     Attributes

 

  A             2x2                32  double             

  V             1x11               88  double             

  a             1x1                 8  double             

  ans           1x2                16  double             

  b             1x2                 4  char               

  c             1x1                 8  double             

  loldata      10x7               560  double             

  q             1x1                 8  double             

  v             1x4                32  double             

保存變量到文件中

>> save hello.mat v;

矩陣運算

>> A = [1 2; 3 4 ; 5 6]

 

A =

 

     1     2

     3     4

     5     6

 

>> C = [1 1 ; 2 2]

 

C =

 

     1     1

     2     2

 

>> A  *  C

 

ans =

 

     5     5

    11    11

17    17

 

注意A 後面有空格,.是對矩陣中全部元素進行位運算

>> A .^ 2

 

ans =

 

     1     4

     9    16

    25    36

 

>> A + 1

 

ans =

 

     2     3

     4     5

     6     7

 

>> A

 

A =

 

     1     2

     3     4

     5     6

矩陣的轉置

>> A'

 

ans =

 

     1     3     5

     2     4     6

沒一列中全部最大元素

>> max(A)

 

ans =

 

     5     6

 

>> [VAL,IND] = max(A)

 

VAL =

 

     5     6

 

 

IND =

 

     3     3

矩陣的比較運算

>> A < 3

 

ans =

 

     1     1

     0     0

     0     0

全部元素中符合條件位置

>> find(A < 3)

 

ans =

 

     1

     4

 

>> a = magic(4)

 

a =

 

    16     2     3    13

     5    11    10     8

     9     7     6    12

     4    14    15     1

 

>> [r,c] = find(A < 3)

 

r =

 

     1

     1

 

 

c =

 

     1

     2

 

>> a = [1 2 3 4]

 

a =

 

     1     2     3     4

 

>> sum(a)

 

ans =

 

    10

 

>> prod(a)

 

ans =

 

    24

 

>> a = [1 2 3 4;1 3 4 5]

 

a =

 

     1     2     3     4

     1     3     4     5

求和默認是列

>> sum(a)

 

ans =

 

     2     5     7     9

 

>> sum(a,1)

 

ans =

 

     2     5     7     9

求積

>> prod(a)

 

ans =

 

     1     6    12    20

 

>> floor(a) %向下四捨五入

 

ans =

 

     1     2     3     4

     1     3     4     5

 

>> ceil(a) %向上四捨五入

 

ans =

 

     1     2     3     4

     1     3     4     5

 

>> max(rand(3),rand(3))

 

ans =

 

    0.9572    0.2785    0.9649

    0.6324    0.5469    0.9595

    0.8003    0.9575    0.9706

 

>> A(:)

 

ans =

 

     1

     3

     5

     2

     4

     6

調換方向

>> flipud(eye(9))

 

ans =

 

     0     0     0     0     0     0     0     0     1

     0     0     0     0     0     0     0     1     0

     0     0     0     0     0     0     1     0     0

     0     0     0     0     0     1     0     0     0

     0     0     0     0     1     0     0     0     0

     0     0     0     1     0     0     0     0     0

     0     0     1     0     0     0     0     0     0

     0     1     0     0     0     0     0     0     0

     1     0     0     0     0     0     0     0     0

求矩陣的擬

>> pinv(a)

 

ans =

 

    1.3333   -1.0000

   -1.6667    1.3333

   -0.3333    0.3333

    1.0000   -0.6667

 

>> D = [0:0.01:0.98]

 

>> y1 = sin(2*pi*4*D)

 

>> plot(D,y2,'r')

>> xlabel('time')

>> ylabel('value')

>> legend('sin','cos')

>> title('my plot')

>> print -dpng 'myplot.png'

>> subplot(1,2,1)

>> plot(D,y1)

>> subplot(1,2,2)

>> plot(D,y2)

>> clf

>> A = magic(5)

 

A =

 

    17    24     1     8    15

    23     5     7    14    16

     4     6    13    20    22

    10    12    19    21     3

    11    18    25     2     9

 

>> imagesc(A)

>> imagesc(A)

>> imagesc(A),colorbar,colormap gray

循環語句 判斷語句

>> for i=1:10,

v(i)=2^(i);

end;

>> v

 

v =

 

           2

           4

           8

          16

          32

          64

         128

         256

         512

        1024

 

>> while true,

i =1;

v(i) = 100;

if i <=6,

break;

end;

end;

>> v

 

v =

 

         100

           4

           8

          16

          32

          64

         128

         256

         512

        1024

相關文章
相關標籤/搜索