Extracting data from matrix row vector

I have a double Streams with some process I have got vector F which has a value Now I want to go back to the Streams and locate value matching value of F; get 100 columns forward and collect all the data between those two columns. I tried with ismember to locate the position of F in Streams but no success
Data=Streams(J: (J-2544))%does not work

 Respuesta aceptada

Star Strider
Star Strider el 21 de En. de 2016
MATLAB by default increments using the colon ‘:’ operator. If you want it to decrement, you have to tell it specifically to use a negative step.
See if this does what you want:
Data=Streams(J : -1 : (J-2544));
Notice the ‘-1’ step.

8 comentarios

Sag
Sag el 21 de En. de 2016
Editada: Sag el 21 de En. de 2016
I got a warning for code X=Streams(J: -1 : (J-2544));
Warning: Integer operands are required for colon operator when used as index
Star Strider
Star Strider el 21 de En. de 2016
Well, -1 is an integer, so it’s not the problem.
What is ‘J’? It must also be an integer, and greater than 2544.
Sag
Sag el 21 de En. de 2016
Editada: Sag el 21 de En. de 2016
J is very small value 3.4514e-04
Star Strider
Star Strider el 21 de En. de 2016
That is not going to work as you have written it. First, ‘J’ is a floating-point value, and second, it will generate negative indices the way you have written your array reference. Array indices must be integers greater than zero. ‘J’ must be an integer greater than 2544.
Sag
Sag el 22 de En. de 2016
Yes I could not get the code running. As a solution, I created another vector 22544 columns before J and named as P. Then I started data analysis 2544 columns after P.
J = min(abs(Time - P(1))) Final=Streams(J: +1 : (J+2544));
Star Strider
Star Strider el 22 de En. de 2016
Is your problem solved now?
Sag
Sag el 22 de En. de 2016
Still there is Warning: Integer operands are required for colon operator when used as index for code Final=Streams(J: +1 : (J+2544)); But the data looks okay Just wanted to know that would above warning affect the data analysis.. Thanks!
Star Strider
Star Strider el 22 de En. de 2016
If you cannot address your data arrays correctly, it could affect your data analysis.
‘J’ still needs to be an integer to create your subscript vector.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Etiquetas

Preguntada:

Sag
el 21 de En. de 2016

Comentada:

el 22 de En. de 2016

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by