Octave教程(二)

如何求矩阵、向量的维数
octave:1> A = [1 2; 3 4; 5 6]
A =

   1   2
   3   4
   5   6

octave:2> size(A)
ans =

   3   2

octave:3> size(A, 1)
ans =  3
octave:4> size(A, 2)
ans =  2
octave:5> V = [1 2 3 4]
V =

   1   2   3   4

octave:6> length(V)
ans =  4
octave:7> length(A)
ans =  3
octave:8> W = [1; 2; 3]
W =

   1
   2
   3

octave:9> length(W)
ans =  3

其中,length()表示求出矩阵或向量的最大维数。

如何导入数据
octave:12> load ex1data1.txt       % 或者 load('ex1data1.txt')

在导入数据之前,需要用cd命令“前往”数据文件所在的文件目录。当然,我们可以使用pwd命令查看当前所在的文件目录路径,确保在导入数据之前,“前往”数据文件所在的文件目录。

如何显示Octave中当前的所有变量
octave:13> who
Variables in the current scope:

A         V         W         ans       ex1data1

octave:14> whos
Variables in the current scope:

   Attr Name          Size                     Bytes  Class
   ==== ====          ====                     =====  =====
        A             3x2                         48  double
        V             1x4                         32  double
        W             3x1                         24  double
        ans           1x15                        15  char
        ex1data1     97x2                       1552  double

Total is 222 elements using 1671 bytes

既然Octave能存储当前的所有变量,那我们就可以清除Octave中当前存储的变量:

octave:15> clear V
octave:16> whos
Variables in the current scope:

   Attr Name          Size                     Bytes  Class
   ==== ====          ====                     =====  =====
        A             3x2                         48  double
        W             3x1                         24  double
        ans           1x15                        15  char
        ex1data1     97x2                       1552  double

Total is 218 elements using 1639 bytes

其中,我们若只键入clear,则表示清除Octave中当前所有的变量。

如何存储数据
octave:17> V = ex1data1(1:10)           % 将ex1data1中10个数据保存至V
V =

 Columns 1 through 8:

   6.1101   5.5277   8.5186   7.0032   5.8598   8.3829   7.4764   8.5781

 Columns 9 and 10:

   6.4862   5.0546

octave:18> whos
Variables in the current scope:

   Attr Name          Size                     Bytes  Class
   ==== ====          ====                     =====  =====
        A             3x2                         48  double
        V             1x10                        80  double
        W             3x1                         24  double
        ans           1x15                        15  char
        ex1data1     97x2                       1552  double

Total is 228 elements using 1719 bytes

octave:19> save test.mat V;                % 将V中的数据保存至test.mat
octave:20> save test.txt V -ascii          % 将V中的数据以ascii吗保存至test.txt
如何操作数据
octave:21> A
A =

   1   2
   3   4
   5   6

octave:22> A(3, 2)            % 取出位于A中第三行第二列的元素
ans =  6
octave:23> A(2, :)            % 取出位于A中第二行的所有元素
ans =

   3   4

octave:24> A(:, 2)            % 取出位于A中第二列的所有元素
ans =

   2
   4
   6

octave:25> A([1 3], :)        % 取出位于A中第一行或第三行的所有元素
ans =

   1   2
   5   6

octave:26> A(:, 2) = [10; 11; 12]         % 对位于A中第二列的所有元素重新赋值
A =

    1   10
    3   11
    5   12

octave:27> A = [A, [100; 110; 120]]         % 对于矩阵A新增一列
A =

     1    10   100
     3    11   110
     5    12   120

octave:28> A(:)           % 输出A中所有的元素,即将A中的元素放入一个向量中
ans =

     1
     3
     5
    10
    11
    12
   100
   110
   120

octave:29> B = [11 12; 13 14; 15 16]
B =

   11   12
   13   14
   15   16

octave:30> C = [A B]              % 将A和B组成一个新矩阵
C =

     1    10   100    11    12
     3    11   110    13    14
     5    12   120    15    16

octave:31> B = [11 12 13; 14 15 16; 17 18 19]
B =

   11   12   13
   14   15   16
   17   18   19

octave:32> C = [A; B]
C =

     1    10   100
     3    11   110
     5    12   120
    11    12    13
    14    15    16
    17    18    19

其中,“:”表示第i行或第j列的所有元素。

你可能感兴趣的:(Andrew,NG机器学习笔记)