Running Matlab on the SEP computer environment

On what machines Matlab should be run: cities and moods. You are not allowed to run it on vostok because of its gateway functionality.


What to do if Matlab won't start

There can be three reasons for Matlab not to start:

  1. You are on the wrong machine, like teslas.
  2. vostok has rebooted and the license manager has not been started yet. The steps to restart license server: 1) Log onto vostok 2) cd /opt/matlab2011b/etc/ 3) run ./lmdown 4) run ./lmstart. If it does not return error msg, it indicates the license manager has been started successfully.


Backup machines for Matlab

If “koko” is misbehaving and you need Matlab, of if all five licenses are taken and nobody would close their session, or if you need toolboxes we don't have, you can use the university's machines. Here's how.

Definitions:

Procedure:

The ”-nosplash -nojvm” options will make Matlab start and run faster. It works without them too, if you like the luxury of a GUI. Among the remote machines above, “tree” was the fastest, but maybe I just caught it in a good mood.

The remote machines see your directory on the Leland systems. To transfer files to and from the current SEP system directory to the Leland directory, use sftp from koko or from your local machine:
“sftp <user>@<remote>”

After you started sftp, use “put” to transfer a file from the SEP current directory to the Leland systems home directory: “put <filename>” , and “get” to retrieve a file: “get <filename>” .

You can also use “scp <files_here> <username_there>@<machinename>:<path_to_files_there>”, either from the local machine to the remote one, or the other way around.


SEPlib-Matlab I/O Package

If you need to read/write SEPlib format files from Matlab when running Matlab outside the SEP computing system, download the I/O toolbox and unarchive it with “tar -xvzf toolbox.tar.gz” or copy it from /usr/local/matlab7/toolbox/nick/. Let the Matlab Administrator know of any bugs, he'll appreciate the feedback. Solving them, or extending the capabilities of the toolbox to handle other OSs than Linux are even more appreciated.


The main Matlab web help site

can be found at www.mathworks.com/access/helpdesk/help/helpdesk.shtml. It is much richer than the simple line-of-command help, it has examples, pictures, and tutorials on how to use each of the toolboxes. The search feature is also quite useful, it searches through their pdf documents and through the user-posed questions, too.


Matlab reproducibility at SEP

In the SEP reproducibility denomination system, Matlab figures are considered Conditionally Reproducible because they require a proprietary software package (“matlab”). There are two degrees of reproducibility:


Accelerating Matlab's 3D graphics

PROBLEM:On the new Matlab 6.0, when running a command such as surf, that produced a 3D display, the thing would take a huge time to display, or would crash, and sometimes the following error would appear:

Xlib: extension “GLX” missing on display “nada.Stanford.EDU:0.0”.
??? Not able to create a render context
” .

SOLUTION: If before running your surf command you run: “set(gcf,'renderer','zbuffer')”, the 3D image will display correctly and very fast, too.


Troubles to create tiff file from matlab to be included in Power Point

From: Biondo

Add the following line line before outputting the tiff file, and make sure to run 'xhost + ashland' on santorin console before creating the figure.

set (gcf,'XDisplay','santorin.stanford.edu:0.0')


How to correctly apply the graphics patches shown above

  1. Open a LOCAL MACHINE window and type: xhost +ashland
  2. Add the following code sequence just before the plot command that was giving you problems:“figure;
    set(gcf,'renderer','zbuffer');
    [s,w] = unix('echo $DISPLAY');
    set(gcf,'XDisplay',w);”You should at least be able to export your figure as a “EPS file”. There may still be problems with other file types. If your script/program contains variables called “s” or “w”, change the respective variable names in the code sequence above.


Dealing with Matlab's memory fragmentation problem

Recently, I gave Matlab a job that required it to go through roughly 400 iterations. The job involved adding some numbers into a big matrix, nothing complex. To my surprise, after 10 hours, it still had not finished running.

I had matlab display a iteration counter. The speed of iteration slowed down fast after the first iterations, and I knew there were no convergence problems, so Matlab was sabotaging itself. I included the coomand ”pack” inside the loop, and the program executed in five minutes what previously had not been able to do in 10 hours!


Exporting professional-quality figures

Matlab Digest describes how to export figures for publications in a reproducible, automatized manner. Links to part 1 and part2 of the article. The functions they provide (“exportfig”, “previewfig”, “applytofig”, “restorefig”) are now installed on koko too. The Technical Support Guide to Printing is a good resource too.


LaTeX in Matlab

Matlab already handles naturally simple LaTeX encodings that allow introducing Greek lettters or modifying the font size and appearance in plots. The function "teximage" (now installed on ashland too) converts any LaTeX string to images and displays them in Matlab figures.


Adding noise to an image

The function “noise.m”, now installed on ashland too, adds Gaussian, uniform, salt and pepper, additive or multiplicative noise to an image.


Running Matlab without graphics

Sometimes you may want to run scripts which contain plotting commands without displaying the plots and without going into the script to comment out the commands. An example: if you're working from home and it's too slow to run graphics over the network. You can play a simple UNIX trick:

” % setenv DISPLAY /dev/null
% matlab “





SEP
Stanford
Exploration Project
GP
Department of
Geophysics
SES
School of
Earth Sciences
Stanford
Stanford
University

Page Maintainer: webmaster@sep.stanford.edu
Copyright © 2009 SEP.