第五课 控制语句和方程 For,while,if statements and functions

(1)For loop

v=zeros(10,1) %initial vectors

for i=1:10, %Assign for the vectors

v(i) = 2^i;

end;

v

(%You can also do that:

indices=1:10;

for i=indices,

v(i)=2^i;

end;

v

)

(2)whileloop

I = 1;

while I <= 5,

v(i) = 100;

I = i+1;

end;

v

(3)break statememts

i=1;

while true,

v(i) = 999;

I = i+1;

if I == 6,

break;

end;

end;

(4)if-else statements

v(1) = 2;

if v(1) == 1,

disp('The value is one.');

elseif v(1) == 2,

disp('The value is two.');

else

disp('The value is not one or two.');

end;

(5)Funtions

例1:桌面上有一个名为“squareAndCubeThisNumber.m”的文件,内容如下:

function [y1,y2] = squareAndCubeThisNumber(x)

y = x^2;

y = x^3;

要调用此函数,方法如下:

(1)输入pwd,查看当前文件所在路径,若不在和“squareThisNumber.m”文件的同一目录下,有两种方法进入同一目录:

1)cd /home/flipped/Desktop

2)addpath(' /home/flipped/Desktop') %Octave search path (advanced/optional)

(2)调用 squareThisNumber函数,输入如下:

quareThisNumber(5)

从此例还可看出,Octave不同于其他语言的一点是,函数可以返回两个及两个以上的值。

例2:通过少量数据集计算其成本函数

桌面上有一个名为“costFuctionJ.m”的文件,内容如下:

unction J = costFuctionJ(X, y, thera)

m = size(X,1);

predictions = X*thera;

sqrErrors = (predictions-y).^2;

J = 1/(2*m)*sum(sqrErrors);

设定 X = [1 1;1 2;1 3](第一列均为x0值,第二列为样本集x1,x2,x3的值)

y = [1;2;3](样本集中y的值)

thera = [0;1];(假设当x0为0时,y为0;x1为1时,y为1)

运行函数得结果等于0. (若设thera = [0,0],运行函数结果为2.3333.)

向量化 Vectorization

优点:(1)利用各种语言中经过高度优化的代数库会使你的代码运行速度更快,更有效。(2)这也意味着你可以用更少的代码实现一些功能。

Octave Tutorial(《Machine Learning》)之第五课《控制语句和方程及向量化》的更多相关文章

  1. 【机器学习Machine Learning】资料大全

    昨天总结了深度学习的资料,今天把机器学习的资料也总结一下(友情提示:有些网站需要"科学上网"^_^) 推荐几本好书: 1.Pattern Recognition and Machi ...

  2. How do I learn machine learning?

    https://www.quora.com/How-do-I-learn-machine-learning-1?redirected_qid=6578644   How Can I Learn X? ...

  3. Octave Tutorial(《Machine Learning》)之第一课《数据表示和存储》

    Octave Tutorial 第一课 Computation&Operation 数据表示和存储 1.简单的四则运算,布尔运算,赋值运算(a && b,a || b,xor( ...

  4. Machine Learning – 第2周(Linear Regression with Multiple Variables、Octave/Matlab Tutorial)

    Machine Learning – Coursera Octave for Microsoft Windows GNU Octave官网 GNU Octave帮助文档 (有900页的pdf版本) O ...

  5. Coursera machine learning 第二周 quiz 答案 Octave/Matlab Tutorial

    https://www.coursera.org/learn/machine-learning/exam/dbM1J/octave-matlab-tutorial Octave Tutorial 5  ...

  6. Tutorial: Create a Windows Machine Learning UWP application (C#)

    In this tutorial, we'll build a simple Universal Windows Platform application that uses a trained ma ...

  7. 第五周(web,machine learning笔记)

    2019/11/2 1.    表现层状态转换(REST, representational state transfer.)一种万维网软件架构风格,目的是便于不同软件/程序在网络(例如互联网)中互相 ...

  8. 吴恩达《深度学习》-课后测验-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究))

    Week1 Bird recognition in the city of Peacetopia (case study)( 和平之城中的鸟类识别(案例研究)) 1.Problem Statement ...

  9. Machine Learning - 第3周(Logistic Regression、Regularization)

    Logistic regression is a method for classifying data into discrete outcomes. For example, we might u ...

随机推荐

  1. Linux编程之PING的实现

    PING(Packet InterNet Groper)中文名为因特网包探索器,是用来查看网络上另一个主机系统的网络连接是否正常的一个工具.ping命令的工作原理是:向网络上的另一个主机系统发送ICM ...

  2. Java连接数据库(mysql,sqlserver)

    犹记当年为了使用java程序连接mysql数据库花费一天时间,最后发现是没有导入外包,如今看来真的发现自己那时有点二,也怪我使用的教科书上没有说明这点(强行甩锅,哈哈).今天分享出来,,希望后者不因为 ...

  3. 语句 if else

    语句 语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为“控制流”或“执行流”. 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同. 语句间的标点符号必须是英文标点 ...

  4. 去除android或者iOS系统默认的一些样式总结

    ios系统中元素被触摸时产生的半透明灰色遮罩怎么去掉 iOS用户点击一个链接,会出现一个半透明灰色遮罩, 如果想要禁用,可设置-webkit-tap-highlight-color的alpha值为0, ...

  5. pwnable.kr-collision -Writeup

    bof html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,addres ...

  6. list_删除元素

    项目遇到了题目所述的问题,还是折腾了一会... 现在总结一下: 这里写一个测试小程序: List<Integer> ints = new ArrayList<Integer>( ...

  7. 计算机 计算机语言 常见的DOS命令

    你好 我是大福 你现在看的是大福笔记 我jie的女儿 8年级 在QQ上问我寒假作业 0度的水和0度的冰哪个更冷 什么? 0度水 0度冰这温度不是一样的么? 不可能 肯定没这么简单 她问的意思是不是手放 ...

  8. 如何在linux下制作一个windows的可启动u盘?

    如何在linux下制作一个windows的可启动u盘? 情景是这样的,有一个windows10的iso,现在想通过U盘安装,要求即支持UEFI(启动引导器),又支持Legacy(启动引导器),因为有一 ...

  9. vs2010入门程序和出错问题解决方案

    本篇文章分两个部分: 第一,如何建立一个Helloword工程 1.打开Vs2010新建项目 2.选择Visual C++>>Win32>>Win32控制台应用程序,输入项目名 ...

  10. AngularJS2环境配置

    所使用到的文件目录结构如下所示: 1.      创建配置文件: 1.1.  创建目录: mkdir angular-quickstart cd angular-quickstart 1.2.  载入 ...