Please help create a transition matrix
21 views (last 30 days)
Show older comments
llrb on 20 May 2014
Commented: shahab anjum on 9 Mar 2020
I hope anyone could help me, I'm kinda new to Matlab.
I have a variable 'velocity' with the value ranging from 0-48 km/hr. I have about 2250 of these data. I would like to create a frequency matrix of the speed transition follows another speed.
I would like to make a frequency matrix with this criteria:
Explanation: cell [2,2] --> velocity < 2 is followed by velocity < 2 one time.
I really appreciate any help you give. Thank you for your time.
Sven on 20 May 2014
The code below should do what you're looking for. I displayed the result as an image but you can just look at the final contents of freqMat
velocity = [1.28 0.57 0.75 2.88 8.05 13.7]
binEdges = 0:2:20; % 0 to 2 is the first bin, 2 to 4 is second bin, etc
[~,velBinNos] = histc(velocity,binEdges); % Histc just asks which bin each velocity belongs to
binTicks = binEdges(1:end-1); % Don't need the last bin edge
freqMat = zeros(length(binTicks));
fromBinNos = velBinNos(1:end-1);
nextBinNos = velBinNos(2:end);
for i = 1:length(fromBinNos)
freqMat(fromBinNos(i),nextBinNos(i)) = freqMat(fromBinNos(i),nextBinNos(i)) + 1;
xlabel 'Next velocity bin'
ylabel 'First velocity bin'
Did this help you out?
shahab anjum on 9 Mar 2020
can you help me to please to build transition matrix if i have 1000x286 matrix.
More Answers (0)
Find more on Multidimensional Arrays in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!Start Hunting!