How to minus two arrays with condition
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Tipnirin Vajanarat
el 6 de Nov. de 2019
Comentada: Tipnirin Vajanarat
el 10 de Nov. de 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 comentarios
Respuesta aceptada
Ruger28
el 6 de Nov. de 2019
Editada: Ruger28
el 6 de Nov. de 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;
Más respuestas (0)
Ver también
Categorías
Más información sobre Logical en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!