User Tools

Site Tools


This is an old revision of the document!

MATLAB helpful hacks

Index Non-Empty Cells in Cell Array


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.:

disp('Welcome to physiology analysis...');
set_sources_path; % set additional paths dynamically, e.g. 
% addpath(genpath('D:\Sources\MATLAB'));
EditorMacro('Alt-Control-h', @createHeaderComment_dag);
dbstop if error

Exiting loop (for / while -> pause) gracefully

(i.e., without “ctrl-C” abort)

For example, when paging thru trials:

figure('Name','Plot trial','CurrentChar',' ');
for k = 1:length(trial),
	drawnow; pause;		
	if get(gcf,'CurrentChar')=='q', % pressing "q" will exist the loop, make sure focus is on the figure!

Finding indices between two vectors of start and end indices

Assume we have two vectors, repeated_segments_start_idx, and repeated_segments_end_idx, and we want to find all indices between each pair.

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!
matlab/matlab_helpful_hacks.1443810340.txt.gz · Last modified: 2015/10/02 18:25 by igorkagan