Compare segments of a vector
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
Ricardo Gutierrez
el 6 de Mzo. de 2018
Editada: Fangjun Jiang
el 7 de Mzo. de 2018
Hello good day.
I have a problem, which I hope you can give me support or advice: I have the following column vector of 20 elements (the real one is 1000 elements): A=[6.9563; 6.9563; 6.9563; 6.9563; 6.9563; 7.4917; 5.8343; 5.3075; 5.8713; 7.1312; 11.2175; 11.2175; 11.2175; 11.2175; 11.2175; 10.4278; 10.9766; 11.2685; 9.4748; 11.3789] The question is how to compare (greater than>) the first 5 elements with the second 5 elements of vector A. 6.9563 6.9563 6.9563 6.9563 6.9563 Compare with 7.4917 5.8343 5.3075 5.8713 7.1312 and after third 5 elements with the fourth 5 elements of the vector A 11.2175 11.2175 11.2175 11.2175 11.2175 Compare with 10.4278 10.9766 11.2685 9.4748 11.3789 And so on automatically, if the vector A is 1000 elements
I hope you understand me and help me. Greetings.
5 comentarios
Jos (10584)
el 6 de Mzo. de 2018
I fail see the relationship between the values of B and the values of A ...
Respuesta aceptada
Fangjun Jiang
el 7 de Mzo. de 2018
Editada: Fangjun Jiang
el 7 de Mzo. de 2018
What if none of the element in second 5 elements is greater than the first 5 elements? The code below might be easier to understand.
A=[2 2 2 2 2 3 6 3 4 5 1 1 1 1 1 0 0 0 0 0];
A=transpose(reshape(A,10,[]));
B=A(:,6:10);
A=A(:,1:5);
C=B>A;
ind=any(C,2);
B(~ind,:)=A(~ind,:)
B =
3 6 3 4 5
1 1 1 1 1
Más respuestas (3)
David Fletcher
el 6 de Mzo. de 2018
Editada: David Fletcher
el 6 de Mzo. de 2018
ind=repmat(logical([0 0 0 0 0 1 1 1 1 1]),1,100)
b=a(ind)
a(ind)=[]
c=a>b
0 comentarios
Fangjun Jiang
el 6 de Mzo. de 2018
This example should give you an idea
A=transpose(reshape(rand(20,1),5,[]))
B=diff(A)
C=B>0
C should tell you the relation
0 comentarios
Jos (10584)
el 7 de Mzo. de 2018
Editada: Jos (10584)
el 7 de Mzo. de 2018
A = [2 2 2 2 2 3 6 3 4 5 1 1 1 1 1 2 3 4 5 6]
AA = reshape(A,5,[])
dA = diff(AA,[],2)
ix = all(dA>0)
ix = 2*find(ix(1:2:end))
B = reshape(AA(:,ix),1,[])
2 comentarios
Ver también
Categorías
Más información sobre Creating and Concatenating Matrices 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!