| > Rob Mahurin wrote:
| > > octave:29> tic; n = 1e5; retval = 1:n; toc
| > > Elapsed time is 0.000756025 seconds.
| > > octave:30> tic; n = 1e5; retval = (1:n)(1:n); toc
| > > Elapsed time is 0.00757694 seconds.
| > > octave:31> tic; n = 1e5; retval = [1:n]; toc
| > > Elapsed time is 0.0125589 seconds.
| >
| > Can someone explain the difference between "1:n" and "[1:n]"?
I would
| > normally write the brackets because I find that way clearer;
does this
| > mean "1:n" is actually the "preferred" way?
In Octave, an expression like 1:n creates a range object, which
contains only the base, limit, and increment as double precision
values, so no matter how many elements are in the range, it only takes
a few bytes of storage (24 for the data plus some overhead for the
internal octave_value object itself).