Matlab Option Tree FAQ

From ICE Enterprises
Jump to navigation Jump to search

Here are some of our Frequency Asked Questions regarding the Matlab Option Tree.

I keep getting an 'Error using javaObject' message

Error using javaObject
No class nxm.nextmat.lib.MatlabHandle can be located on the Java class path

Error in iceInit>openHandle (line 115)
  handle = javaObject('nxm.nextmat.lib.MatlabHandle', iceroot, home, nonative_);

Error in iceInit (line 77)
  handle = openHandle(iceroot, home, nonative_); 

Error in ice (line 35)
    tmp_hand = iceInit();

If you keep getting an error that looks similar to this, it's probably because you are using JDK 1.7, which isn't supported by Matlab. To correct this, roll back to JDK 1.6 and re-compile everything; this error should go away.

Where can I get documentation on what NeXtMidas functions are available to me?

When you compile NeXtMidas, an index.html file gets placed in your NMROOT directory. For standard installations, you can direct a web browser to 'file:///opt/ice/pkg/nmxxx/index.html'; you will then see the Master Help Index, from which you can then navigate through the option trees and see the available commands.

How can I make additional directories accessible?

You need to add folders as AUXes. There are two methods to do this: a temporary ("one-shot") method and a permanent method. Here is how you would add the directory '/home/iceman/mydir/' as a numbered (40) AUX.

Note: We chose 40 because it didn't conflict with any of our existing AUXes. You can choose any non-conflicting AUX Number.

One-Shot Method

Type the following two lines at the Matlab/Octave prompt:

ice('file name u:aux.40 (home,iceman,mydir)')
ice('aux ,, +40')

Permanent Method

Add the following 2 lines to the 'nmstartup.mm' file in your home directory:

file name u:aux.40 (home,iceman,mydir)
aux ,, +40

Note: Your nmstartup.mm file must begin and end with 'startmacro' and 'endmacro' respectively. So at an absolute minimum, the output of this file should look like this:

view ~/nmstartup.mm
startmacro
  file name u:aux.40 (home,iceman,mydir)
  aux ,, +40
endmacro

How can I view my AUXes?

You can do this at a Matlab/Octave terminal by typing:

ice('aux')

How can I add additional Option Trees?

Just as with AUXes, there are two methods to do this: a temporary ("one-shot") method and a permanent method.

One-Shot Method

Type the following two lines at a Matlab/Octave prompt:

ice('option <OPTION_TREE_NAME> <FULL_PATH_TO_OPTION_TREE>')
ice('path add <OPTION_TREE_NAME>')

Permanent Method

Add the following two lines to the 'nmstartup.mm' file in your home directory:

option <OPTION_TREE_NAME> <FULL_PATH_TO_OPTION_TREE>
path add <OPTION_TREE_NAME>

Note: Your nmstartup.mm file must begin and end with 'startmacro' and 'endmacro' respectively. So at an absolute minimum, the output of this file should look like this:

view ~/nmstartup.mm
startmacro
  option <OPTION_TREE_NAME> <FULL_PATH_TO_OPTION_TREE>
  path add <OPTION_TREE_NAME>
endmacro

What kind of data do you currently support?

Currently, we can only handle 1xN Dimensional Matrices to and from Matlab/Octave; however, there are provisions to add support for MxN Matrices.

Why am I missing some of my NeXtMidas Option Trees and AUXes?

You might find that some of your Option trees and AUXes fail to load from Matlab. This is (most likely) because their definitions are in the Sys Option Tree's nmstartup file. The Matlab option tree only runs the nmstartup file in your home directory. In some cases the Option Trees and AUXes will not appear. In other cases, this warning message will appear:

WARN: Unknown AUX table entry 11 added to READ AUX, this may cause errors when reading files. Please add AUX table entry for 11 or change READ AUX. [%NMSTARTUP]

You can resolve this issue by putting all your NeXtMidas definitions in your local nmstartup script (~/nmstartup.mm)