From Octave
Jump to navigation Jump to search

Personal Data[edit]

Juan Pablo Carbajal

Tips and Tricks[edit]

Get file info when generate_html fails or warns[edit]

Since generate_html gives errors about the random files generated, it is useless when debugging help text. The following command shows the first few lines of the files created by generate_html.

 f_old=/tmp/$(ls -1 -t /tmp | head -1);while true; do f=/tmp/$(ls -1 -t /tmp | head -1); if [ "$f" != "$f_old" ]; then echo $f; grep '@def' --include="*octave-help*" $f; f_old=$f; fi; done

run this in a different terminal before using generate_html is not ideal,but it does the trick

Make options[edit]

Some options to pass to make when compiling from source

    avoids building the PDF but still builds function helps.
  2.  --disable-atomic-refcount
    improves performance when building CLI only.

Getting help from CLI[edit]

  1. know the function --> help function_name or help function_name.
  2. Know what to do but not the function name --> lookfor what_to_do.
  3. Can't remember the fullname of a function (or have a guess) --> partial_name_of_function then press <TAB-key> twice
  4. Did it once but can't remeber --> <Ctrl>+<R> to search the history.


test syntax highlight[edit]

Code: Loading the file as polygon compatible with geometry package
function y = deserializeInt (data)

  y = bitpack (
                        @(x)bitget(x,1:8), data,
                        "UniformOutput", false
                )', "uint16");

  y = double (y);


TODO list[edit]

Geometry package[edit]

Non-negative matrix factorization[edit]

  • Add nmf_bpas and nmf-pg to linear-algebra
  • Get nmf_toolbox from DTU under free license.
    • Add it to linear-algebra and create nnmf.m compatible with MATLAB calling all the methods.


  • Asked for a GPLv3 version of GPML. They answer but license is FreeBSD. A new version is comming out in June 2012, so I will wait to start the port.
  • Create repository to keep scripts to package it for OF.

make output format a valid input format[edit]

An output format that prints valid input commands, so one can copy and re-execute the code. From IRC

(04:57:05 PM) jwe: It might not be too hard to implement what you want. There is a flag in the pr-output functions for pr_as_read_format and many (but probably not all) of the types that are printed there do something with that. And it is not hooked in to the format function, so you can't enable it.

(04:57:31 PM) jwe: and pr_as_read_syntax

extend sub2ind and ind2sub[edit]

We are extending sub2ind and ind2sub to work with triangular matrices. Currently private functions of mechanics. A string argument triggers the behavior. The string argument can be "triu" or "tril". After this str argument we accept an extra scalar value indicating that the triangular matrix is off diagonal (as in tril and triu). So, the first modification to the C++ code will be

  1. Check if any of the argument is a str.
  2. Check what kind of triangular matrix (up or low).
  3. If the argument after the str argument is a scalar, it indicates off diagonal triangular matrix (we do not have algo for that yet, though).

updating pkg.m[edit]

Commands used with pkg

   pkg install image-*
   pkg load image
   pkg unload image
   pkg uninstall image
   pkg install -forge image
   pkg install -verbose -forge -nodeps signal
   pkg install struct-old.tar.gz
   pkg update struct
   pkg update
   pkg load all
   pkg unload all
   pkg list
   installed_packages = pkg ("list")
   [user_packages, system_packages] = pkg ("list")
   oct_forge_pkgs = pkg ("list", "-forge")
   pkg describe image
   pkg describe -verbose image 
   pkg describe -verbose all 
   desc = pkg ("describe", "signal", "image")
   [desc, flag] = pkg ("describe", "signal", "image")
   pkg prefix
   pkg prefix /tmp
   pfx = pkg ("prefix")
   pkg prefix /tmp /tmp
   pfx = pkg ("prefix")
   pkg build -verbose /tmp image-*
   pkg rebuild signal
   pkg local_db /tmp/.octave_packages.db
   pkg local_db
   pkg global_db /tmp/.octave_packages.db
   pkg global_db
   pkg whereis rgbplot
   pkg whereis -forge rgbplot
   pkg install -url "" drd-1.1.0.tar.gz


Porting the package. May be good to port SC as well

EPA software suite[edit]

Create native interfaces to the EPA software suites See this group



Old projects[edit]

Quaternion package[edit]

  • quaternion mpower.m


  • Ask Stewart Heitmann to release under GPLv3.
  • Ask Andrea d'Avella to release under GPLv3 or equivalent. Waiting for answer. KaKiLa 03:54, 9 March 2012 (PST)


  • Muscle models
    • Hill model.
    • Voight model.
  • Locomotion
    • SLIP model, multiple generalized variables.
  • Reaching
    • Tendulum, tendon driven pendulum.

Robotics Toolbox[edit]