# MATLAB

From Rizzo_Lab

To access the lab version of MATLAB log on to ringo.ams.sunysb.edu and type the following:

matlab -nojvm

This opens MATLAB without using the java interface (the virtual machine).

## Making large plots

First create a new figure, maximize it. Add these commands after the plot() and before making labels and printing. This will create a 1000 x 1000 px plot

set(gcf,'Position',[1 1 1000 1000]); set(gcf,'PaperPositionMode','auto'); set(gca,'FontSize',12);

The parm 'PaperPositionMode' set as 'auto' will have matlab print the figure as it appers on screen. see following link.

http://www.mathworks.com/help/techdoc/creating_plots/f3-124745.html

Note that if you have a multi-paneled graph each panel have its own handle.

## subpanel in a panel

figure(1) h = uipanel subplot(1,1,1,'Parent',h),plot([1:.1:10],sin([1:.1:10]/10*pi)) h2 = uipanel('Parent',h,'position',[0.4108 0.4096 0.2090 0.2157]) subplot(1,1,1,'Parent',h2),plot([1:.1:10],sin([1:.1:10]/10*pi))

make the background white.

set(h,'BackgroundColor',[1 1 1]) set(h,'ShadowColor',[1 1 1]) set(h2,'ShadowColor',[1 1 1]) set(h2,'BackgroundColor',[1 1 1])

## Heatmap and colormap

Here are some possible color maps.

map =[1 0 0; %red 1 0.3 0.3; %light red 1 0.7 0.7; 1 1 1; %white 0.7 0.7 1; 0.3 0.3 1; %light blue 0 0 1]; %blue v1 = ones(1,101); x = [0:100]/100; map = [(1-x)' (1-x)' v1'; 0 0 0; 0 0 0; v1' x' x']; %white - blue - black - red - white map = [ v1' x' x'; 1 1 1; 1 1 1;(1-x)' (1-x)' v1']; %red - white - blue

Make a heatmap using the one of the color maps above.

H1 is a NXM matrixs

val1 = max(max(abs(H1))); val2 = max(max(abs(std1))); figure(num), imagesc(H1), % makes heatmap colorbar, caxis([-val1,val1]) % this specifics the range of the color axis % zero is in the center colormap(map)