Using accumarry and changing size of output
Afficher commentaires plus anciens
I am using the accumarray by using the following command on the first and second column of struct array. The first part of the code works good.
but the last two commands "went_from_to_countAge" and "went_from_to_probAge", does not work. any idea?
sequence = [1 1 1 1 2 2 2 2 2 3;...
1 1 1 1 1 1 1 1 1 1;...
1 1 1 1 1 1 1 1 1 1;...
1 1 1 1 1 1 1 2 2 2;...
1 1 1 1 1 1 1 1 1 1;...
2 2 2 2 2 2 2 2 2 2; ...
2 2 2 2 2 2 2 3 3 3; ...
2 3 3 3 3 3 2 2 2 2; ...
2 2 2 2 2 2 4 4 4 4]
% first part of the code
k = 1:size(sequence)
Age (k) = 25 + k
States = unique([sequence(:,k); sequence(:,k+1)]); % Find the unique rows based on the data in the first two columns.
[TF, fromstateAge] = ismember(sequence(:,k), States); % logical arrays
[TF, tostateAge] = ismember(sequence(:,k+1), States);
% second part of the code
went_from_to_countAge(:,k) = accumarray( [fromstateAge(:), tostateAge(:)], 1, []) % frequency of each unique number
went_from_to_probAge(k)= went_from_to_countAge ./ sum(went_from_to_countAge); % pribability of each unique number
1 commentaire
dpb
le 21 Fév 2021
Attach a .mat file with a sample of the struct and an example of what the desired output should be.
Almost impossible to visualize such complexity without having an example at hand.
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!