Octave 控制语句,定义和使用函数

目录

Octave 控制语句,定义和使用函数

for

while

break

if-else

定义和调用函数

一个更复杂的例子


Octave 控制语句,定义和使用函数

for

首先初始化一个10行1列的列向量v:

for循环语句

v输出结果为:

即,把从1到10的2^i存放到列向量v中。

或者,先初始化一个序列indices(英文,索引):

while

break

(以v为10*1的零向量为例)

或者可以让语句结构看起来更清晰些,添加一些空格:

(e...好像tab键不能用?...)

if-else

最后一行为输出结果

 

定义和调用函数

在Octave环境下定义函数,需要创建一个文件,用函数名来命名,以 ' .m ' 的后缀结尾。

当Octave发现这个文件,它知道应该在什么位置查找该函数的定义。

如,创建一个 ‘squareThisNumber.m’ 文件

打开这个文件,写入函数定义

第一行告诉Octave,我希望这个函数返回一个值,将它存放在变量y中;并且,还告诉Octave,这个函数有一个自变量x。

在这个文件中,函数定义的主体就是第二行

(目前使用的是notepad++,其他记事本、写字板也可以,写字板更好)

调用该函数

首先要把Octave的路径换成函数定义文件所在的路径,否则Octave会认为函数没有被定义。

添加Octave查找路径

即可以使在添加路径(如桌面)到Octave的查找路径之后,就算不在该目录下,也能找到该目录下的文件(如C盘)

Octave还可以定义有多个返回值的函数

 

一个更复杂的例子

现在要定义一个Octave函数来计算对于不同theta取值的代价函数J。假设有如下数据集。

 

X(设计矩阵)的第一列代表x_0,第二列为训练集的样本

y代表每个训练数据对应的输出,即y轴坐标

代价函数 ' costFunctionJ.m '的函数定义为:

theta为theta_0、theta_1等组成的向量。下图为不同theta向量取值时,代价函数 j 的值:

(因为正确的回归的theta的取值正好为[0;1],因此当theta=[0;1]时,代价函数 j 值为0)

 

 

 

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值