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 revisionPrevious revision
Next revision
Previous revision
matlab:matlab_helpful_hacks [2015/09/13 22:52] igorkaganmatlab:matlab_helpful_hacks [2022/12/29 07:15] (current) – external edit 127.0.0.1
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.
 +
 +==== Close all windows in Editor ====
 +<code matlab>closeNoPrompt(matlab.desktop.editor.getAll);</code>
  
  
  
matlab/matlab_helpful_hacks.1442184738.txt.gz · Last modified: 2022/12/29 07:15 (external edit)