[Machine Learning] Octave Control Statements, for while if
阿新 • • 發佈:2020-08-19
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)