# Difference between revisions of "MATLAB"

Jump to: navigation, search

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

```matlab -nojvm
```

While running matlab, one can still use the unix commands by adding "!" in the beginning. For example, to open a file using vim, type the following:

```!vim file.txt
```

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.

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)
```

## Useful Matlab Functions written by Rizzo group

This Matlab function fits Fourier series to data, written by Trent E. Balius