What kinds of things do you do with Octave?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

What kinds of things do you do with Octave?

John W. Eaton-6
I'd be interested in hearing from anyone on the list about how they
are using Octave.  I'm planning to give a short presentation next
week and it would be nice to include something about how Octave is
used outside my immediate research group.

Please reply to me, not the list.



www.octave.org        | Unfortunately we were hopelessly optimistic in 1954
www.che.wisc.edu/~jwe | about the problems of debugging FORTRAN programs.
                      |                                       -- J. Backus

Reply | Threaded
Open this post in threaded view

Re: What kinds of things do you do with Octave?

John W. Eaton-6
On 13-Nov-2002, john greene <[hidden email]> wrote:

| it would be helpful if you could let the list as well know.
| you may let us know what are the broad heads, topics, areas
| where and how octave is being used.

I meant to post a summary, but then forgot about it.  Thanks for
reminding me.


From: Julius Smith (jos at w3k.org)

I use Octave as a "free Matlab for starving computer musicians".  In
other words, even though I normally use Matlab, I try to be compatible
with Octave also because my work is aimed at "electronic musicians",
many of whom have no access to Matlab without buying it at the
exorbitant "individual" rate.  For them, Octave is a great solution.
I still use Matlab for my publications only for the superior graphics
support, really.
From: Pruitt Dave W Contr AEDC/SVT (Dave.Pruitt at arnold.af.mil)

Just finished Fourier transform-based Abel inversion on microwave
interferometry data set.  (See J. Quant. Spectrosc. Radiat. Transfer,
Vol.  39, No. 5, pp.367-373, 1988 if you need more info.).  Had
trouble with butter.m - but probably my problem, not octave's.

Have big plans for future use.  Thanks for your efforts.
From: Ben Bauer (benbauer at nortelnetworks.com)

I use it for statistical analysis of test data for
device and behavioural testing in a telecom environment.
From: Thomas Shores (tshores at math.unl.edu)

I use Octave in my reseach activities, along with Matlab.  There are
some aspects of Octave that I find preferable to Matlab, such as
script files that allow multiple function definition.  I have used
Octave to compute solutions to inverse problems involving parameter
identification in possibly singular ordinary differential equations.
I keep some of my Octave files on my web site for researchers.  When I
get more time, I plan to make a lot more of what I've written
available.  These files have been used in research publications.  I
have some information on the research page of my home web page,

I have also required my PhD students in the past few years (three of
them) to learn and use Octave in their own research.  It has been
extremely beneficial to them.
From: luc.lefebvre at mcgill.ca

I am an engineer working for the Aerospace Medical Research Unit at
McGill University (in Montreal).  We do basic researh in the human
neurophysiology area.

I have been using Octave and its scripting capabilities to perform
batched data analysis.  I have applied this to the data collected in
the H-Reflex experiment that was completed on the International Space
Station this summer (it took place over 3 increments).  The main job
here was to do some integration and compute some area ratios.  I also
used Octave to perform some batch analysis of some pre-processed
(using some of my homebrew dsp software) space science data (the
"Torso Rotation Experiment" that took place on Spacelab in 1996).  In
the latter case the main job was to do some statistical analysis and
save the results in a file.

I am currently involved in another project where I plan on using
Octave as a prototyping tool in the dsp area.  The dsp module will be
part of a larger package but I intend to do some proof of concept work
in Octave.

I have only recently "discovered" Octave and have found it extremely
useful.  It is easy to learn and the list has been very helpful.  In
all, very much appreciated.
From: Vladimir Bychkovskiy (vladimir at lecs.cs.ucla.edu)

I am a graduate student at CS Department of UCLA. I use Octave for
signal processing type of things: cross correlation and custom
algorithms. Since this algorithms are often very computation intensive
and can often be trivially parallelized, I use multi-processor
machines and fork(). It is very convenient. I have not used Matlab
before, so I don't know how Octave compares to it. I like the Octave
is integration with GNUPlot.
From: Mike Miller (mbmiller at taxa.epi.umn.edu)
      Assistant Professor, Division of Epidemiology
      University of Minnesota, http://taxa.epi.umn.edu/~mbmiller/

I work mostly in statistical genetics.  Here's an example of my work
using Octave:

I needed to simulate some family data in order to compute the power
for a linkage analysis.  The software I could find ready-made for such
a project was not up to the job -- it would only work with up to 100
families at a time with up to 30 members per family, and it would not
simulate additive genetic background variance.  In only a couple of
days of work on Octave, I was able to do the genetic simulations
exactly as I needed them to be done.  In addition, I had developed
code that I will expand later into an Octave-based, full- featured
simulation program for public distribution.  Within Octave, I can see
many ways to improve statistical genetics research.  It's a very
flexible program, easy to learn and use, and it is freely available.
I can therefore share what I write and other people can get Octave and
use it to run my code (this wouldn't be true in MATLAB).  By the way,
the power analysis was a success and we were able to get a $10 million
dollar NIH grant because of it.

Thanks for Octave!  Really -- it's fabulous and you have been very
generous with your time and energy.
From: Quentin Spencer (qspencer at ieee.org)

I now use octave exclusively for simulations related to my PhD
research on wireless communication system design. Originally I tried
octave because I couldn't afford Matlab for my home computer, but now
most of my code won't even work with Matlab any more.

Last year I had a brief consulting job to write some image processing
library algorithms in C. Octave proved very useful as a development
tool because it allowed me to test the library by writing a .oct file
shell around the functions and use the familiar environment of octave
to analyze and view the results without writing my own test
environment.  Having used the Matlab C interface as well, it was
refreshingly simple.
From: Andreas Stahel (Andreas.Stahel at freesurf.ch)
      Schlossstrasse 5, CH-2560 Nidau, Switzerland

Concerning usage of Octave
- daily for small computations
- I wrote  a small FEM package (C++ .oct inteface) to illustrate
  the implementation of the presented algorithms (teaching)
- testing numerical algorithms

Thank you very much for the great package. It is a well crafted
software and stands the test of time.
From: Steve Barker (BARKERDS at BuffaloState.edu)
      Electrical Engineering Technology, Buffalo State College

I have created a "webOctave" for my students at Buffalo State College
which includes all Octave commands except the system-type commands
that give access to the Linux operating system.

Through webOctave, I introduce my Engineering Technology students to
Octave/MATLAB before they get the full exposure in the senior control
system courses.
From: Agustin Barto (abarto at efn.uncor.edu)

We use it to teach a first course on programming for engineers. The
basic idea is to teach the students how to solve engineering problems
using mathematical models through a programming language. The initial
idea was to use matlab, given that the "distance" between the problem
domain and the computing model domain is minimal. When the authorities
said that they wouldn't pay for it, our next choice was SciLab but
that it was dropped because of its differences with matlab. The next
(obvious) choice was Octave. We've been using it for a couple of years
with tremendous success. The mathematics department is also adapting
their teaching material to Octave. We're trying to convince other
departments to use Octave as well.

The use of Octave also fits another (rather stealth) program to switch
from closed propietary software to open source software on the whole
From: "J. Brian Adams" (brian.adams at fandm.edu)
       Asst. Professor of Mathematics and Computer Science
       Franklin & Marshall College, Lancaster, PA   17604-3003

I am using octave in my CPS 370 class - Simulation Modeling here at
Franklin & Marshall.  I wanted to get them to write their own
simulations but I didn't want to use a GPSS or Simulink because

1.) the pedagogy of understanding the theory as compared to being able
to just click and link systems together.  2.) the cost.  Each of my
students (about 11 in the class) can download everything that they
need without adding the additional expense of their buying proprietary
software or additional textbooks.

Further, the use of a C++ or Java would have taken away from learning
about simulation and instead it would have become another programming

The class was a little cool to the idea of learning another
programming language, but now (after 2 1/2 weeks) they seem to be
enjoying it.

I also use it in my own research in working with neural networks as
statistical models and as a general analysis tool.
From: Oscar Marquez (omarquez at gts.tsc.uvigo.es)
      Universidad de Vigo, ETSI de Telecomunicacion
      Lagoas-Marcosende, E-36200 Vigo - Spain

We use octave to teaching about 1700 studentes in some disciplines
like introduction on non-linear digital systems, introduction in
communications theory, fundamentals of digital communications, signal
processing, basics of image processing, at the telecommunications
school, Vigo University in Spain.
From: Przemek Klosowski (przemek at jazz.ncnr.nist.gov)
      Mail Stop 8562, NIST Center for Neutron Research, Bldg. 235
      National Institute of Standards and Technology

We are using Octave as a general numerical environment, and as a
computing engine for a specific project (reduction of xray/neutron
reflectivity data). In this second role, Octave is the back end to a
Tcl/Tk front end which does user interaction (data input and
display). Paul Kienzle is the principal author; the project is
proceeding very nicely: the slick TclTk GUI coupled with Octave's
numerical power is really neat.

We are planning to develop the Tcl/Tk--Octave interface further,
in several ways. We want an interface that:
 - is network-transparent and secure
 - allows parallel execution on a Network of Workstations
From: Paul Kienzle (pkienzle at jazz.ncnr.nist.gov)

At the NIST Center for Neutron Research I have been working on a GUI
for reduction and analysis of neutron and X-ray reflectivity data.
This is primarily a Tcl/Tk program but I am using octave to do things
like interpolation, averaging lineshapes and fitting footprint
corrections.  Some of the data is two dimensional, so octave is
involved in image transformations and slicing.  I couldn't use octave
to load the raw data files since it is too slow.

To communicate between Tcl and Octave I have Octave listening on a
socket and evaluating whatever commands come through it.  There's
nothing inherently tcl in the communication: I send statements for
octave to evaluate some of which ask octave to send back strings which
tcl evaluates or matrices which the tcl client reads into vectors.
All this is network transparent.

For data analysis there was already a program to fit the lineshapes.
I have put a graphical front end on it so that the user can more
easily interact with the model and the fit.  The next step is to tear
apart the backend into model generation, lineshape calculation and
least squares fit, writing each of these as an octave extension so
that the user has more flexibility in controlling the fit.  Since the
lineshape is expensive to calculate (up to a second per parameter set)
we would like to be able to distribute the calculation across multiple
machines.  The socket interface is likely to come in handy there,
although I will have to write a client side interface for octave as
From: "Wm. Pont" (fpont at ureach.com)

I just got the book last week.  I like it.  Everyone else in our group
is waiting to get a Matlab license while I do work.
From: Etienne Grossmann (etienne at isr.isr.ist.utl.pt)

Computer vision, more precisely, 3D reconstruction. I take image point
coordinates as input, do some computations obtain a first estimate of
the corresponding 3D points. Then I define the sum-of-squares function
and minimize it, starting from the previously obtained reconstruction
and get a least-squares reconstruction.  Assuming the errors in the
input coordinates is Gaussian, which is approximately the case, this
is also a maximum likelihood reconstruction. Using the Hessian of the
cost function, I estimate the covariance of the estimator. Finally I
beautify the output with VRML, texture and do snapshots to include in
From: Steve Lipa (slipa at eos.ncsu.edu)

First of all please let me thank you very much for Octave, which I
consider one of the greatest contributions to the OSS movement.  I
don't use Octave daily, I use it continuously!

I think I'm at the end of a marathon Ph.D. pursuit here at NC State,
where I've been working as a lab manager to make ends meet.  In the
labs I take care of we have about 10 Linux boxes that we use for
equipment control and data collection, and of course I have a few
boxes that are just desktop boxes for running simulations and, writing
reports, etc.

The most important thing that I use Octave for, is to process S
parameter data from our vector network analyzers.  I have written a
suite of S parameter analysis tools (Octave m-files) that I use for
deembedding S parameter data.  I haven't released these to the world
yet because they're still rather primitive (i.e. not idiot-proof) and
I'd like to add better error checking to them before I give them to

Probably the most common thing I use octave for, is to analyze or
process arrays of data from oscilloscopes and spectrum analyzers.
Obviously Octave is perfect for doing all kinds of math on waveforms
and spectral data, but I also use Octave as a front end to the Grace
plotting package.

Thank you once again for your very generous contribution to the world!
From: Michael Jachan (mjachan at nt.tuwien.ac.at)
      Institute of Communications and Radio-Frequency Engineering
      Vienna University of Technology

I am using Octave as Matrix/Vector calculator for signal
processing. My special field is time/frequency SP. I also use it to
generate graphics.
From: "Iago Mosqueira" (i.mosqueira at ic.ac.uk)

I am working on fish stock assessment, applying both Bayesian and Bayesian
geostatistical methods to the estimation of spawning stock biomass from
planktonic egg surveys. And some other fisheries work too.
From: "Joseph P. Skudlarek" (jskud at jskud.com)

I used Octave to create a behavioral RF simulator from scratch.  It
was also used to create the graphs for presentations and publications.
Some details can be found at http://members.dsl-only.net/~jskud.
Octave was a godsend.

I'm starting to use Octave to right now to explore some "nonblocking
single stage sparse crossbar switches", related to "partial
concentrators" used in interconnect networks.  The Mathematica code is
just way way too slow.

I've used Octave as a backup alternative to work-related optimization
needs (solving a significant quadratic programming problem) and will
be bringing that work forward under GPL later this year.

I've used Octave to solve optimization problems I've encountered; it
was very very interesting to see artifacts of implementation show up
in Mathematica that were not present in Octave's solution.

I've used Octave to run MATLAB code provided in conjunction with
research texts, including C. T. Kelley's works published by SIAM.
From: Paul Soderlind (Paul.Soderlind at hhs.se)
      Stockholm School of Economics, Paul.Soderlind at hhs.se

I (and my students) use it for finance applications (pricing options
via PDEs) and econometrics (statistics).
From: Peter Gawthrop (p.gawthrop at eng.gla.ac.uk)
      Prof. Peter J Gawthrop, www.mech.gla.ac.uk/~peterg
      Centre for Systems and Control & Dept. of Mechanical Engineering
      University of Glasgow, GLASGOW G12 8QQ, Scotland, UK

1. Octave is an integral part of my "Model Transformation Tools"
   package for assisting in the modelling of dynamic systems using
   bond graphs (mtt.sf.net).

2. I use octave for general control systems design and simulation -
   including model-based predictive control.

Thanks for Octave!
From: "Lippert, Ross A." (Ross.Lippert at celera.com)

I, and various other people at my company, use Octave as a simple
interface to gnuplot to do plot from data files.  We have a very
limited number of matlab licenses here and octave fills a great niche.

I use it exclusively instead of matlab due to matlab's licensing
scheme (which pretty much nixes having it on my laptop).  A great deal
of the stats and numerical work I do, I do with octave.  This is
primarily in the numerical linear algebra world and in regression
testing.  Octave provides an excellent environment in which to
prototype new numerical codes.

Specifically, I have used octave to debug a signal processing routine
we use here to do mass spectrometry calculations.  Being able to suck
in raw data and apply filters to it and just plot the raw values has
provided the scientists here with a great deal of insight into how our
peak calling routines work -- and found a few bugs in the peak calling
routines.  This is a specific case of sucking in raw data and using
the primitive ops and plotting routines to sanity check something
From: "Ben Harris" (pben at arlut.utexas.edu)

We are using octave here at Applied Research Laboratories (part of UT
Austin) to research GPS. We use octave to analyze range observations
to the GPS satellites. Our sponsors are extremely high profile for
GPS: the National Imagery and Mapping Agency and the Air Force. I
direct students who analyze data collected by GPS reference
stations. Most of these students major in aerospace engineering. They
are trained in MATLAB as part of their curriculum. In fact, I used
octave to derive all the results for a paper I am presenting at the
Institute of Navigation Satellite Division 2002 meeting.
From: Pablo Barrera Gonzalez (pbarrera at tsc.uc3m.es)
      Ingenieria en Telecomunicacion, Universidad Carlos III de Madrid

I use octave for simulating communication channels (wireless and
optical channels). I also work with neural networks and genetic
algorithms for antenna development a pattern recognition task. Another
important task is building software prototypes. Octave is a easy
development platform, and can perform any kind of mathematical
algorithm easily.
From: Schloegl Alois (alois.schloegl at tugraz.at)

I'm doing research and teaching in the field of neuroscience.  In my
daily work, this means Biomedical signal processing, mostly analyzing
Electroencephalogram (EEG).

Applications are:
- sleep research
- EEG-based brain computer interface

You can find more links at

On campus, I use mostly M*L, but at home I use Octave.
From: Jonathan Drews (j.e.drews at worldnet.att.net)

I use Octave for studying Chemistry and Physics.  I think it works
great. BTW I sent a small $50.00 donation for Octave. I hope the
University of Wisconsin actually forwarded it to your research group
and didn't spend it on some pet project of the university
From: Streph Treadway (sbt at ginkwunk.net)

I am a secondary school math teacher in an urban district in
Massachusetts.  I have used Octave to generate plots for explanations
of various mathematical principles and for tests.  I have also used
Octave as part of an online interactive tutorial on the (u, v) plane,
an essential concept in radio interferometry.  Unfortunately the site
is temporarily down due to my own negligence in maintaining it.

Next month I plan to buy a laptop and install Linux on it.  I will
then be able to use Octave to support in-class instruction.
From: Marco Antoniotti (marcoxa at cs.nyu.edu)
      NYU Courant Bioinformatics Group, New York, NY 10003, USA

We use Octave as the integration engine for several simulations of
Biochemical, Metabolic and Regulatory biological systems.
From: David Antliff (dave.antliff at paradise.net.nz)

I use octave primarily for designing FIR filters, analysing/plotting
signals, and as a general 'desktop' calculator. I don't do anything
mega-geeky with it, but it's an important part of my everyday tool set.

David Antliff, Design Engineer
Med-Dev Ltd., Wellington, New Zealand, www.med-dev.co.nz
From: "Derek Schulte" (derek.schulte at nlightphotonics.com)
      Project Engineer, nLight Photonics, Vancouver WA 98665-0990

I'm not a heavy Octave user.  But I've been so delighted with it over
the past 6 years or so, and thus certainly feel karmic debt to your
efforts to create and support such a fine, free application.

One of the less-common things I use Octave for are kinematic
transforms for some robots.  For example, after roughing out the
matrix transformations on paper, I implemented prototype code in
Octave prior to handing it off to the LabView developer.  Octave
helped figure out the details, check my algorithm (we also compared it
to our parametric CAD package's results), the m-files provided
documentation for the LabView developer, and Octave let us check the
LabView code.  Had we gotten serious, we would have also used it to
carefully define the limits of travel and do some error analysis.
Using this process we've built a several millimeter travel, sub-micron
accurate arbitrary-motion positioner for fiber-optic applications.
The transformations developed in Octave allowed us align linear
microoptic lens arrays to laser diode arrays by translating and
rotating about arbitrary axes.

The code is elementary for Octave, but having a simple yet robust and
powerful tool at our disposal (we could install it anywhere) certainly
made the process easy.  In the end, the Labview developer hardly read
my report---he just translated the m-file and added device and user

Someday our lens analysis group will see the light and switch from
Matlab to Octave, their fears are primarily over getting Octave to
interact with Access and MSOffice.
From: Trond Varslot (trond at varslot.net)

I use octave for my PhD research in mathematics. I'm working on
ultrasound imaging, and have implemented a simulation package which
allows you to simulate sound propagation in a heterogeneous,
non-linear medium with frequency dependant absorption.

I started developing this package under matlab, but due to licensing
issues, I was not able to run matlab on my computer at home. Thus I
came across octave, and started using it at home.

When I finally realised how easy it was to write efficient code using
C++ and liboctave, I also started to use octave at university. I
currently run everything under octave, and am very happy with it.

In case you are interested in a reference for some of the work I've
done using octave, I've included a paper from the proceedings of the
IEEE Ultrasonics Symposium in Atlanta 2001.
From: Tom Kornack (tkornack at Princeton.EDU)
      Fundamental Symmetries Lab, Princeton University
      414C Devereux Avenue, Princeton, New Jersey 08540

Atomic physics and plasma physics. Right now, I'm using leasqr from
octave-forge I have a way to perform fits of over 25 variables to
multiple data sets simultaneously. I use it on Mac OS X with Aquaterm.
It's absolutely perfect and the combination is so effective here that
it's starting to spread to the other groups here, especially the
cosmologists and their microwave background polarimetry. I'm working
on signal processing stuff now. We're building the most precise
magnetometer in the world. All the plots from my papers are generated
using octave and gnuplot.
From: C.Brinkhaus at t-online.de (Christoph Brinkhaus)

At first I like to thank you very much for this good software!

I do the following things:

-Graphic output of data from other software, for example nec antenna
calculation tool

-Pre-testing of small algorithms (BTW: I am not a DSP expert, just

-Computations which do not take much time in octave but which are
more time consuming to program and verify in C

-Very powerful calculator;-).
From: Obed Sands (ossands at speakeasy.net)

I've used Octave for several years now. I now work at NASA in
satellite communications. Recently I've used Octave to estimate
ground-station to satellite access and to calculate far-field beam
patterns for phased array antennas. Prior to working at NASA I worked
for the Navy in active sonar (maybe you remember me from my failed
attempt to get some Octave development funded by the Navy.) While
working in the Navy, I used Octave to simulate and develop new signal
processing and target identification algorithms and to estimate the
performance of these algorithms with in-water data.

I usually use Octave in conjuction with MATLAB. I like to use MATLAB
for its graphics capability and I like to use Octave because of the
GNU license. The GNU/open source license makes Octave a more stable
product because bugs can get fixed easier. It also allows much more
flexible use. For example, I'm able to use Octave on my home machines
without having to spend 10's of thousands of dollars or commit
From: Francesco Potorti` (F.Potorti at cnuce.cnr.it)
      (researcher), CNUCE - Area della ricerca CNR
      via G. Moruzzi 1, I-56124 Pisa, Web: http://fly.cnuce.cnr.it/

I am using Octave both as a sort of big calculator, that I keep open
in an Emacs buffer, to do occasional computations, and as a
programming language for my computing needs, by writing small
functions that I usa for scientific purposes.  I work in the research
field, telecommunications.