GNU Octave 3.2.3

Version of implementation GNU Octave of programming language MATLAB

A version of GNU Octave.

Examples:

Hello, World! - MATLAB (379):

The first function is identical to the C one. The second one is Octave-specific.

``````printf("Hello, World!\n");

disp("Hello, World!");
``````

Factorial - MATLAB (380):

This example uses built-in function `factorial`. Note that at this scale of magnitude the results are exact, but in general case Octave is not meant for arbitrary-precision computations, so huge values of factorial will be calculated approximately.

``````for i = 0 : 16
printf("%d! = %d\n", i, factorial(i));
endfor
``````

Factorial - MATLAB (381):

This example uses iterative factorial definition. Semicolons at the end of lines suppress the automated output of the calculated values (in this case of `fact`) in interactive mode, so that the formatted output doesn’t get littered.

``````fact = 1;
for i = 0 : 16
printf("%d! = %d\n", i, fact);
fact *= i+1;
endfor
``````

Factorial - MATLAB (382):

This example uses recursive factorial definition.

``````function f = fact(n)
if (n <= 1)
f = 1;
else
f = n * fact(n - 1);
endif
endfunction

for i = 0 : 16
printf("%d! = %d\n", i, fact(i));
endfor
``````

Fibonacci numbers - MATLAB (383):

This example uses recursive definition of Fibonacci numbers.

``````function f = fib(n)
if (n <= 1)
f = n;
else
f = fib(n - 1) + fib(n - 2);
endif
endfunction

for i = 1 : 16
printf("%d, ", fib(i));
endfor
disp("...");
``````

Octave is suited for numeric computations, so it has built-in methods of solving typical problems, including finding the roots of a polynomial. To do this one can call `roots` function for a vector of polynomial coefficients listed in order of descending powers (so the coefficient at the highest power is listed first).
``````roots([2 -3 1])