octave基础

最近在学习机器学习,涉及到一部分算法需要用到octvae,官网下载的octvae速度太慢这里提供百度与云链接有需要的可以自行下载。https://pan.baidu.com/s/19gpNy3RPQrMZUydz74kXkw 提取码:f4g6

首先octvae里边的注释为%,要是不想运行当前的语句在语句后边输入;分号就好。

1、基本计算

octave基础

2、逻辑运算

octave基础

除了运用运算符我们还可以用octvae里边的内置函数来进行运算如xor()代表或运算,更多的内置函数可以参考官方的文档

octave基础

3、变量

如同其他编程语言一样octvae也可以定义变量而且

octave基础

这里可以使用disp()函数来查看变量的值

4、矩阵和向量

我们一般使用大写字母来表示矩阵,小写字母来表示向量。

矩阵

octave基础

向量又包括行向量和列向量

行向量语法如下

octave基础

当然了我们还可以快速的生成向量

octave基础

这个表示生成的向量取值在1到2之间,步长为0.2

也可以不指定步长,语法如下

octave基础

矩阵常用api介绍

ones(m, n) 函数生成一个m行n列的矩阵,矩阵中每个元的值为1。

zeros(m, n) 函数生成一个m行n列的矩阵,矩阵中每个元的值为0。

rand(m, n) 函数生成一个m行n列的矩阵,矩阵的每个元是0到1之间的一个随机数。

eye(m) 函数生成一个大小为m的单位矩阵。

size() 查看是几阶矩阵

octave基础

octave基础

我们还可以用下标的方式来获取矩阵的元素如下:

octave基础

获取单行,单列的所有元素:

octave基础

2和3就表示这是一个2行3列的矩阵

在使用size函数的时候还可分别获取矩阵的行列信息,如下,1代表行,2代表列

octave基础

取某几行或者某几列的向量

octave基础

除了进行取值操作之外我们还可以对矩阵的元素进行重新赋值

octave基础

对矩阵进行扩展,如扩展为增广矩阵

octave基础

将两个矩阵混合

octave基础

使用length()获取向量信息

octave基础

5 矩阵运算

矩阵乘法,学过线性代数的都知道矩阵相乘满足的条件是m*n n*m

octave基础

这里我们可以看到出错了,因为A是3*2 B为3*2矩阵,不满足条件,下边的才是正确的

octave基础

除了进行矩阵乘法我们还可以进行矩阵元素的乘法,如下

octave基础

这个就是把矩阵的元素对应乘起来。

求平方

octave基础

求逆

octave基础

转置

octave基础

基本语句:

1、循环

这里我们先定义一个0juzhen

octave基础

然后用循环填充值

octave基础

octvae里边的循环格式就是 for  i = n:m

                                                   执行的操作

end

下边我们看看while语句

octave基础

whlie语法如下  while i<m,

执行的操作;

end;

下边说一说if 语句,if语句结尾也要搭配end,具体情况如下

octave基础

三、函数

在Octave中,定义一个函数需要使用function 关键字,然后紧跟在 function 后面的是函数的声明,包括返回值,函数名称和参数,之后换行来实现具体的函数功能。

Octave的函数不需要显示的返回语句,Octave会将函数第一行声明的返回值返回给调用方,因此,我们在函数体中只需将最终的计算结果赋给定义的返回值,比如下面例子中的f。

octave基础

多返回值函数

octave基础

四、绘图操作

我们平时除了用octave进行代码编写还可以用来进行可视化数据展示,以便于我们发现数据之间的联系还有关系,这里列举一两个点,大家在进行开发的时候可以自己参考api文档进行对应操作。

octave基础

octave基础

这里绘制了一个sin图像,但是在开发中需要绘制多个函数图像我们可以采用以下方法

用hold on命令

这里我们用红色曲线表示cos函数

octave基础

octave基础