Octave(1)

size(A)返回矩阵A的大小:

>> A=[1 2;3 4;5 6];
>> size(A) %返回矩阵A 的大小
ans =

   3   2
>> size(A,1) %返回A的第一维度大小(行数)
ans =  3
>> size(A,2) %返回A 的第二维度大小(列数)
ans =  2

>> v=[1 2 3 4]
v =

   1   2   3   4

>> length(v) %返回长度
ans =  4
>> length(A) %返回最大长度
ans =  3
>> length([1;2;3;4;5])
ans =  5

 

文件管理:

>>pwd           %显示当前工作路径
>>cd 'C:\Users\Administrator\Desktop' 
>>load file_name           %加载文件
>>load('file_name')          %同上
>>who              %显示当前Octave中所有的变量
Variables in the current scope:

A    ans  v

>>whos          %显示更加详细的变量信息
Variables in the current scope:

   Attr Name        Size                     Bytes  Class
   ==== ====        ====                     =====  =====
        A           3x2                         48  double
        ans         1x30                        30  char
        v           1x4                         32  double

Total is 40 elements using 110 bytes
>>clear v             %删除变量v
>>whos
Variables in the current scope:

   Attr Name        Size                     Bytes  Class
   ==== ====        ====                     =====  =====
        A           3x2                         48  double
        ans         1x30                        30  char

Total is 36 elements using 78 bytes

>> save hello.dat A;       %保存数据,在当前目录建立文件保存数据A
>> save hello.txt A -ascii   %save as text(ASCII)
>>clear              %直接clear命令将会删除当前所有变量

 

 

数据操作:

>> A
A =

   1   2
   3   4
   5   6

>> A(3,2)     %矩阵值索引
ans =  6
>> A(2,:)      %获取第二行的所有数据,':'表示所有数据
ans =

   3   4

>> A(:,2)      %获取第二列的所有数据
ans =

   2
   4
   6

>> A([1 3], :)     %返回1,3行的所有数据
ans =

   1   2
   5   6

>> A(:,2) = [10; 11; 12]       %对矩阵A中的数据赋值
A =

    1   10
    3   11
    5   12

>> A = [A, [100; 101; 102]];   %矩阵A增加一列
>> A
A =

     1    10   100
     3    11   101
     5    12   102

>> A(:)       %将A的所有变量变成一个单独的列变量
ans =

     1
     3
     5
    10
    11
    12
   100
   101
   102

 

 

实例:

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

   1   2
   3   4
   5   6

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

   11   12
   13   14
   15   16

>> C = [A B]         %将A和B和在一起
C =

    1    2   11   12
    3    4   13   14
    5    6   15   16

>> C = [A;B]           %在A 的后面添加B
C =

    1    2
    3    4
    5    6
   11   12
   13   14
   15   16

 

 

数据计算:

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

   1   2
   3   4
   5   6

>> b=[11 12;13 14;15 16]
b =

   11   12
   13   14
   15   16

>> c=[1 1;2 2]
c =

   1   1
   2   2

>> a*c    %矩阵A*C
ans =

    5    5
   11   11
   17   17

>> a.*b       %矩阵A的每个元素与B中的对应元素相乘
ans =

   11   24
   39   56
   75   96

>> a.^2       %A矩阵的每个元素都乘以一个平方
ans =

    1    4
    9   16
   25   36

>> v=[1;2;3]
v =

   1
   2
   3

>> 1 ./ v       %v矩阵中每个元素的倒数
ans =

   1.00000
   0.50000
   0.33333

>> log(v)
ans =

   0.00000
   0.69315
   1.09861

>> exp(v)        %以e为低对v的元素进行对数运算
ans =

    2.7183
    7.3891
   20.0855

>> abs(v)       %所有元素的绝对值
>> -v              %v中元素 *(-1)
>> v+1         %v中的元素都+1
>> v+ones(length(v),1)         %同上
>> a'                  %矩阵A的装置

>> a<3             %拿A中的所有数据与3比较,返回Bool值
ans =

  1  1
  0  0
  0  0

>> find(a<3)         %寻找A中小于3的数据,返回位置索引
>> A = magic(3)     %返回一个行列相加都等于一个常数的矩阵
>> a=magic(3)
a =

   8   1   6
   3   5   7
   4   9   2

>> [r,c] = find(a>=7)       %查找a中>=7的元素,返回行(r)、列(c)坐标
r =

   1
   3
   2

c =

   1
   2
   3

 

a =

    1.00000   15.00000    2.00000    0.50000

>> sum(a)           %对a中的元素进行求和
ans =  18.500
>> prod(a)           %将a中的元素相乘
ans =  15
>> floor(a)         %对a中的元素进行向下取整
ans =

    1   15    2    0

>> ceil(a)              %向上取整
>> rand(3)        %随机产生一个3*3的矩阵
>> max(rand(3), rand(3))      %产生一个3*3的矩阵,元素由两个3*3矩阵中较大的元素组成
>> a=magic(3)
a =

   8   1   6
   3   5   7
   4   9   2

>> max(a,[],1)          %得到矩阵a中每列最大的值,从第一维度去取值
ans =

   8   9   7

>> max(a,[],2)          %每行的最大值,从第二维度取值
ans =

   8
   7
   9

>> max(max(a))       %求矩阵a的最大值

 

posted @ 2018-10-17 13:11  我星伤悲  阅读(320)  评论(0编辑  收藏  举报