Matlab Option Tree FAQ
Here are some of our Frequency Asked Questions regarding the Matlab Option Tree.
Contents
- 1 I keep getting an 'Error using javaObject' message
- 2 Where can I get documentation on what NeXtMidas functions are available to me?
- 3 How can I make additional directories accessible?
- 4 How can I view my AUXes?
- 5 How can I add additional Option Trees?
- 6 What kind of data do you currently support?
- 7 Why am I missing some of my NeXtMidas Option Trees and AUXes?
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)