在之前的BLOG中,我们重点学习了Octave中的一些算术运算和系统自带的函数。这次我们将要打开结构化程序设计的大门,探寻Octave中的控制语句及函数调用的使用方法。 控制语句 何谓控制语句?我们称诸如 "for" "while" "if" 这些语句为控制语句。下面就让我们逐一进行讲解。 for循环 我们先来一起看看如何使用 ...
让我们回归机器学习的算法部分。这篇BLOG我们将会一同学习加速我们算法的有一个常用技巧-参数向量化,特别感谢大佬的推导思路。 为什么要参数向量化 为什么我们要参数向量化呢? 首先,无论我们是用Octave 还是别的语言,比如MATLAB Python NumPy 或 Java C C++ 所有这些语言都具有各种方便的线性代数库,这些库文件通常都是内置的,且已经经过高度优化,这为我们的参数...
我们之所以选择Octave作为我们机器学习的实现语言,其中还有一个很重要的原因就是Octave自带方便快捷的图像库,可以输出大量图像来为我们检测算法带来事半功倍的效果。下面就让我们一同来看看如何在Octave中实现图像的绘制吧。 为何要图像绘制 当开发学习算法的时候,往往几个简单的图就可以可以让我们更好地理解算法的内容,并且可以完整地检查算法是否正常运行。例如在之前BLOG中,我们提到了...
在之前的BLOG中,我们已经初步掌握了矩阵的定义和一些简单的运算,这篇BLOG,就让我们继续看看矩阵中的一些进阶操作吧! 矩阵算术运算 矩阵的算术运算 首先是对于两个矩阵 A 和 C,如果想要得到这两个元素的积,前面提到过,只要A * C就好了: 同理对于除法加法减法也是一样的,这里就不赘述了。 矩阵元素的算术运算 而对于两个大小相同的矩阵 A 和 B,如果我想要对应位置的元素相乘,就...
b>在上一篇BLOG中,我们了解了一些Octave的基础操作,现在就让我们着眼数据,康康Ovtave中是如何高效地操作数据的吧。 矩阵大小的获取 当我们想处理一个矩阵数据,我们首先要知道这个矩阵的大小,也就算行数和列数,那如何处理呢?其实很简单, 对于一个矩阵 A ,直接使用size(A)就可以了,输出的内容也是一个一行两列的矩阵,第一列为行数,第二列为列数: 如果你只想知道矩阵 A...