第五章-octave基础 深度之眼_吴恩达机器学习作业训练营

目录

一,基础操作

     1.1 数据类型与矩阵

    1.2 基本运算

    1.3 系统命令和一些操作符及函数

二,显示数据

三,数据移动

3.1 外部文件数据

3.2 内存变量

3.3 矩阵取值

四,常见函数

     4.1 数值计算

     4.3 取值

五,绘制图像

 六,控制结构与函数

6.1 控制结构

      6.2 函数


一,基础操作

     1.1 数据类型与矩阵

        octave中有基本的整数,浮点数,字符串等类型,还能自建结构体。其中最常用的数据结构为矩阵。

        矩阵默认有两维(可以用N维),创建方法有 :

              (1) m =  [* * * ; * * * ; * * *] ,其中以空格相隔的元素在同一行,分号相隔表示换行。

              (2)   m = [a: step: b], 表示创建一个行矩阵,矩阵内的元素从 a开始到 b截至,以 step为递增步长。

              (3)   通过特殊函数来创建,假设矩阵的维数和每维的大小由参数shape指定,具体有:

                         ones( shape ),表示创建一个元素全为 1的矩阵。

                         zeros( shape ),表示创建一个元素全为 0的矩阵。                    

                         rand( shape ),表示创建一个元素全为 随机数的矩阵。

                         randn( shape ),表示创建一个元素全为 随机数且元素满足高斯分布的矩阵。

                         eye(N),表示创建一个 N*N的单位矩阵。

                         magic(N),表示创建一个N*N的幻方

    1.2 基本运算

       octave中除了支持基本算逻运算,还有很多内置的数值计算函数,这里简单列举基本运算。

       算术运算: 加减乘除 +,-,*, /,次幂 a^b(a的b次幂),开方sqrt()等。

       逻辑运算: 与 &&,或||,非 ~,异或 xor(x,y), 相等 ==, 不等 ~=等。

       矩阵操作: A' 矩阵转置, inv(A),矩阵求逆, pinv(A)矩阵求伪逆。

      需要注意的是矩阵之间可以使用 +,-,*等运算,但如果在运算符前加点(其他同) 如 .+, .-, .*,  ./ 就变成了矩阵之间相应元素位置上运算了,此时运算的两个矩阵要求维数和维数大小均相同, 计算结果为 :C = A op B, c_{ij} = a_{ij} op b_{ij}

    1.3 系统命令和一些操作符及函数

       help function,  用来快速查找有关function的文档资料,类型Linux里的 man。

       PS1,用来设置系统提示符。

       format,用来控制变量输出时的格式和精度。

       pwd,当前路径

       cd,改变路径

       ls,当前路径下的文件信息

       %,用以注释

       ;,除输出函数外,阻止语句输出。

       ,,逗号隔开的指令依次执行。

二,显示数据

       disp(),用以显示变量。

       sprintf(),以字符串的形式格式化输出变量和字符,类似C语言中的printf()。

       hist(),显示变量(矩阵)中数据的统计直方图。

       who,显示内存中所有变量。

       whos,更详细的变量详细。

       size(矩阵,维度),显示矩阵相应维度的大小,默认显示所有维度的大小。

       length(矩阵),输出矩阵最长一维的大小。

三,数据移动

3.1 外部文件数据

       load filename 或 load(‘filename’), 加载文件数据。

       save filename variablename,  将 变量中的数据以二进制的形式压缩存储到指定文件中, 可选参数-asscii 表示以字符的显示存储。

3.2 内存变量

      clear,清空内存数据    clear variable,清空单个变量

      priece 变量(维度),  切取前()个元素,可做左值也可做右值。

3.3 矩阵取值

        假设 A,B,C均为矩阵

        C = [A B] = [ A, B], C为 以A,B为分块的大矩阵。

        A(:), 将矩阵内所有元素组成一个 列向量

        A[x1,x2,x3,....,xn],指定下标的元素

        A[X , :]  矩阵中某一行 。

        注:矩阵也可做其他矩阵的索引。

四,常见函数

     4.1 数值计算

          exp(x),e的X次幂(矩阵中每个元素都相应计算一次)。

          log(x),以2为底x的对数(矩阵中每个元素都相应计算一次)。

          sin(X),cos(X),tan(X)等,三角函数。

          sum(x),矩阵所有元素求和。

          prod(x),矩阵所有元素相乘。

     4.3 取值

          floor()/ceil(),浮点数向下/向上取整。

          abs(),取绝对值。

          max(),min(),求 最大(最小)元素及其相应下标,矩阵之间则是对应元素取最大(最小)。

                       C = max(A,B), c_{ij} = max(a_{ij} , b_{ij})

         find( A < 3),返回满足条件的元素对应的下标。

五,绘制图像

       plot(),显示绘制的图像。

       subplot(),画板分块,将图像显示在相应的块中。

       hold on,保留旧图不被刷新。

       close,关闭图像。

       axis(),修改数轴刻度。

       xlabel(),ylabel(),图像坐标轴的名称。

       title(),图像名称。

       legend(),给绘制的图像标注。

       print  -dpng filename, 将绘制的图像保存为指定文件,-d参数后可指定需要保持的图像格式。

       figure(num),给图像编号(可防止图像覆盖?)。

       clf,清空画板上的内容。

       imagesc(A),绘制颜色矩阵,colorbar 添加颜色条,colormap gray 将图像变成灰度图。

 六,控制结构与函数

6.1 控制结构

for循环:

  for judge statement,
      instruction
  end

while循环:

  while judgement,
     instruction
  end

if 选择:
  if judgement,
     instruction
  elseif  judgement,
     instruction
  else,
     instruction
  end


% break, 跳出循环或判断。
% continue,直接过度到下一次循环。



      6.2 函数

      可将函数存为后缀为' .m'的文件,当文件在搜索路径中时,可之间调用。

function [返回值列表] = 函数名(参数列表)
      函数内容
      

    

       

              

                         

       

                                                                                   

                                                                                     

                                                                                     

   

发布了18 篇原创文章 · 获赞 2 · 访问量 726

猜你喜欢

转载自blog.csdn.net/weixin_41542958/article/details/104018735