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

 채택된 답변

Star Strider
Star Strider 2016년 1월 21일

0 개 추천

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

Sag
Sag 2016년 1월 21일
편집: Sag 2016년 1월 21일
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 2016년 1월 21일
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 2016년 1월 21일
편집: Sag 2016년 1월 21일
J is very small value 3.4514e-04
Star Strider
Star Strider 2016년 1월 21일
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 2016년 1월 22일
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 2016년 1월 22일
Is your problem solved now?
Sag
Sag 2016년 1월 22일
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 2016년 1월 22일
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.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

질문:

Sag
2016년 1월 21일

댓글:

2016년 1월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by