octave的基本操作

目录

octave的基本操作

数据绘制

1.如何使用控制语句如while或for循环,定义一个函数

2.如何定义和调用函数

3.矢量


octave的基本操作

假设现在有两个文件,一个存放了房屋大小和有几个卧室的信息,一个只存放了房屋的大小,并且只有47个数据,那么具体的格式如下:

1205 6

2200 3 

等等以此类推,那么如何把数据读入octave中呢,那么可以使用如下方式:

load 文件名例如load price.dat 或者是load ('price.dat')

用who可以显示当前存储的变量,whos显示更详细的信息

用clear删除变量 用法clear 变量名

v = price(1:10)就把price中的前10个数据赋给v了

用save hello.mat v:可以把这个数据存入硬盘但是以压缩的二进制存储

如果想存储为文档形式,那么可以使用save hello.txt v -ascii    % save as text(ASCII)

输入clear将清除所有变量,下图是讲关于矩阵的用法

其中,A.*B是A中的每个元素与B中对应的元素相乘

这个是将A中的每个元素进行平方

这个图是求倒数

那么floor函数会对a中的每个元素向下取整,而ceil函数会对a中的每个元素向上取整

那么使用这个会得到A中每一列的最大值

这个会得到A中每一行的最大值

pinv是求A的逆矩阵

数据绘制

下面这个例子给我们演示了如何利用octave生成数据的图像,首先需要创建一个矩阵,然后定义一个正弦函数,绘制图像用plot函数

下图演示了对这个图像的操作,最后可以将这个图像输出为png格式并保存到桌面上,close命令可以关掉图像

    

使用figure 命令可以让你为图像标号,那么现在桌面上就有两张图像

subplot将图像分为一个1*2的格子,现在使用第一个格子,那么可以看下面这个例子就明白了:

            

使用axis可以改变轴的刻度,那么就会改变x轴和y轴的范围,将x轴范围调整到0.5到1,将y轴的范围调整到-1到1,不用图显示了

当然,你可以使用help axis来了解具体的用法,使用clf来清除图像

1.如何使用控制语句如while或for循环,定义一个函数

那么在下面这个例子中,首先定义了一个向量,然后使用了for循环,while循环,这里的空格只是为了代码清晰

                          

接下来的例子将展示如何在while循环里面使用break语句以及如何使用if-else语句

           

2.如何定义和调用函数

需要先创建一个文件,并且以你的函数名来命名,然后以.m的后缀结尾,使用写字板打开这个程序来编辑这个函数

调用函数时需要先切换到存放函数文件的目录下,再调用这个函数,比如说如下图:

如果定义了addpath('存放函数的路径')那么这样系统会自动去这个目录下找你的函数文件

那么,在octave中,可能函数会有多个返回值,那么我们可以用下面右图的方式使用它:

现在有个更复杂的例子,假设我有一个数据集,数据点为(1,1),(2,2),(3,3),那么我需要定义一个octave函数来计算代价函数J(\theta),所以我需要先把数据放在octave中,因此把设计矩阵X设置为如下,其中第一列表示X0的值实际就是1,那么第二列是X1的值,接下来还要设定\theta的值,即通过语句theta = [0;1]

   

那么,最后通过调用函数计算J(\theta)的值,那么如果设置theta是如下所示那么计算结果就会不一样了:

3.矢量

我们需要注意有时候采用向量化的方式更容易解决问题,因为提供一些线性代数的库,例子如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值