[Machine Learning] Octave Control Statements, for while if

For:

v = zeros(10, 1);

for i=1:10,
    v(i) = 2^i;
end;

# the same as

indices=1:10
for i=indices,
    disp(i)
end;

 

while & if & break:

i=1;
while i <=5,
    v(i) = 100;
    i = i + 1;
    if i ==6,
       break;
    end;
end;    

 

 

if & elseif:

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;

 

function:

For exmaple, you have a file called 'squareThisNumber.m' , inside the file, there is a function:

function y = squareThisNumber(x)

y =x ^ 2;

function can return multi values:

function [y1, y2] = squareAndCubeThisNumber(x)

y1 = x ^ 2;
y2 = x ^ 3;

Call the function get the result:

[a,b] = squareAndCubeThisNumber(5);
a # 25
b # 125

 

Example:

X = [1 1; 1 2; 1 3];
y = [1; 2; 3];
theta = [0;1];

j = costFunction(X, y, theta)


function J = costFunctionJ(X, y, theta)

m = size(X, 1) # number of training examples
predictions = X*theta; # predictions of hypothesis on all m examples
sqrErrors = (predictions-y).^2;

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

 

Search path:

If you want to run that file, but you local in a different directory, you need to add that directory into your search path:

addpath('/usr/xxxx/octave') # add the directory where the file locate
squreThisNumber(5)

 

posted @ 2020-08-19 02:49  Zhentiw  阅读(121)  评论(0编辑  收藏  举报