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

目录

一,基础操作

     1.1 数据类型与矩阵

    1.2 基本运算

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

二,显示数据

三,数据移动

3.1 外部文件数据

3.2 内存变量

3.3 矩阵取值

四,常见函数

扫描二维码关注公众号,回复: 9838726 查看本文章

     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