User Tools

Site Tools


matlab:matlab_helpful_hacks

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
matlab:matlab_helpful_hacks [2015/09/13 22:52]
igorkagan
matlab:matlab_helpful_hacks [2019/07/10 11:46] (current)
igorkagan
Line 10: Line 10:
 x = {1,​[],​[],​[]};​ find(~cellfun(@isempty,​x)) </​code>​ x = {1,​[],​[],​[]};​ find(~cellfun(@isempty,​x)) </​code>​
  
-==== startup.m ==== 
- 
-When MATLAB starts, it will look for a **pathdef.m** file in its startup directory. 
- 
-Start up folder (in the MATLAB icon | Properties | Start in ) (e.g. D:​\Sources\MATLAB) allows controlling different paths and other settings via startup.m file placed in the folder, e.g.:  
- 
-<code matlab> 
-disp('​Welcome to physiology analysis...'​);​ 
-set_sources_path;​ % set additional paths dynamically,​ e.g.  
-% addpath(genpath('​D:​\Sources\MATLAB'​));​ 
- 
-cd('​F:​\Data'​);​ 
-edit; 
-EditorMacro('​Alt-Control-h',​ @createHeaderComment_dag);​ 
- 
-dbstop if error 
-</​code>​ 
  
 ==== Exiting loop (for / while -> pause) gracefully ==== ==== Exiting loop (for / while -> pause) gracefully ====
Line 37: Line 20:
 ... ...
  drawnow; pause;   drawnow; pause;
- if get(gcf,'​CurrentChar'​)=='​q',​ % **pressing "​q"​ will exist the loop, make sure focus is on the figure!**+ if get(gcf,'​CurrentChar'​)=='​q',​ % pressing "​q"​ will exist the loop, make sure focus is on the figure!
  break;  break;
  end  end
Line 45: Line 28:
  
  
 +==== Finding indices between two vectors of start and end indices, using arrayfun ====
 +
 +Assume we have two vectors, repeated_segments_start_idx,​ and repeated_segments_end_idx,​ and we want to find all indices between each pair. 
 +
 +<code matlab>
 +idx = [repeated_segments_start_idx(segments2remove_idx):​repeated_segments_end_idx(segments2remove_idx)] % DOES NOT WORK, OF COURSE!
 +
 +idx = cell2mat(arrayfun(@colon,​repeated_segments_start_idx,​repeated_segments_end_idx,'​UniformOutput',​false));​ % WORKS!
 +
 +</​code>​
 +
 +
 +==== Maximize figure window ====
 +<code matlab>​set(gcf,'​units','​normalized','​outerposition',​[0 0 1 1]);</​code>​
 +
 +
 +
 +==== Plot an ''​imagesc''​ with transparent NaNs ====
 +
 +<code matlab>
 +h = imagesc(X,​Y,​C);​
 +set(h,'​alphadata',​~isnan(C));​
 +</​code>​
 +
 +
 +==== Shifting colormaps ====
 +Sometimes the colormap plots are shifted after printing. To fix this:
 +- in Adobe Illustrator,​ click on the colormap, release clipping mask, and go to "​Object",​ "​Rasterize",​ in the "​Resolution"​ part click on the "Use Document Raster Effects Resolution"​.
 +
 +You have to do it for each of the colormaps.
  
  
  
matlab/matlab_helpful_hacks.1442184738.txt.gz ยท Last modified: 2015/09/13 22:52 by igorkagan