How to calculate residence time?

Hi,
I have a time column in picoseconds and 442 distance columns measured in nanometres. I know how to extract the time points that meet the distance threshold I have set.
x = xlsread('10_1.xlsx')
x = x(x(:,2)<=0.5,:);
I want to calculate the total residence time for each of the columns. How can I do this?
Akash

2 Comments

Dunno...what's the working definition of "residence time" here?
So the residence time refers to the time a small molecule is <=0.5 nanometers away from a protein. I want to find the total time where the distance (nm) meets this criteria.
Akash

Sign in to comment.

Answers (1)

Use regionprops() and ask for PixelIdxList. Then use PixelIdxList(end) - PixelIdxList(1) for each region found. Something like
props = regionprops(vec, 'PixelIdxList'); % Vec is a 1-d list of binary (boolean/logical) data of whether x is above 0.5 or not.
% Now find the delta time for all regions found in this vector, vec.
for k = 1 : length(props)
startingIndex = props(k).PixelIdxList(1);
endingIndex = props(k).PixelIdxList(end);
deltaTime(k) = x(endingIndex) - x(startingIndex); % x is the time vector
end
Attach '10_1.xlsx' if you need more help.

Products

Release

R2018a

Asked:

on 19 Mar 2019

Answered:

on 19 Mar 2019

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!