How to minus two arrays with condition
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Tipnirin Vajanarat
le 6 Nov 2019
Commenté : Tipnirin Vajanarat
le 10 Nov 2019
My title may not be clear but lets say if I have two sets of time data, A and B.
These two arrays dont have the same size and I want the value of B-A. From my data A will never be bigger than B in the same row.
For example: A starts at 4th second and B starts at 1st second
A(time) B(time)
1
2.5
4 5
8 11
14 17
how to skip first two of B data in order to get B-A?
appreciate all the answers
0 commentaires
Réponse acceptée
Ruger28
le 6 Nov 2019
Modifié(e) : Ruger28
le 6 Nov 2019
A = [4 8 14]
B = [1 2.5 5 11 17]
C = B(3:end) - A % take only the variables from 3 to end of vector
A more dynamic approach, assuming B always starts at 1 and A can be at different times
%% Assumng B always starts at 1
A(3:5) = [4 8 14]; % generate A with empty values in first 3 positions
B = [1 2.5 5 11 17];
[rowVal,colVal] = find(A); % find non-zero elements in A
newA = A(colVal); % only uses valid values of A
newB = B(colVal); % only uses same values that A has
C = newB - newA;
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!