GNU Octave 3.2.3Version of implementation GNU Octave of programming language MATLAB
A version of GNU Octave.
The first function is identical to the C one. The second one is Octave-specific.
printf("Hello, World!\n"); disp("Hello, World!");
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
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
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
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])