How to calculate residence time?

7 次查看(过去 30 天)
Akash Pandya
Akash Pandya 2019-3-19
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 个评论
dpb
dpb 2019-3-19
Dunno...what's the working definition of "residence time" here?
Akash Pandya
Akash Pandya 2019-3-19
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

请先登录,再进行评论。

回答(1 个)

Image Analyst
Image Analyst 2019-3-19
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.

产品


版本

R2018a

Community Treasure Hunt

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

Start Hunting!

Translated by