how to store data based on range?

2 views (last 30 days)
I have 25by1000 matrix in excel file. i want plot cyclic stress strain graph based on time range . example, I want to check using loop between time 10 to 100 and plot stress and strain in those range. time does not have regular increment parent. time value in sec (ex) 2.146 2.1505 2.1545 2.159 2.163 2.167 2.1715 2.1755 2.1795 2.184 2.188 2.192 2.1965 2.2005 2.2045 2.209. Any help would be much appreciated.
siva
  1 Comment
Jan
Jan on 26 Jun 2017
The question is not clear. Did you import the data to Matlab already, or is this a part of the problem?

Sign in to comment.

Accepted Answer

Jan
Jan on 26 Jun 2017
Edited: Jan on 26 Jun 2017
Assuming that the time is stored in the 1st column and the value in the 2nd:
Index = Num(:, 1) > 10 & Num(:, 1) < 100;
Time = Num(Index, 1);
Value = Num(Index, 2);
But I'm not sure if this solves your problem.
  2 Comments
sivalogan satchithanandamoorthy
I could use the comment to solve the problem, but could you explain your code to me? when i used your code, what happening is between the range 10 to 100, if the values fall between them then it assign 1, if not 0. explanation would be wonderful. thank you
Jan
Jan on 27 Jun 2017
  • Num(:, 1) > 10 is a logical index vector, which is TRUE if the corresüponding value of Num is greater than 10.
  • Num(:, 1) < 100 the same, with TRUR if Num is greater smaller than 100.
  • The & combines the logical vectors. Now it is TRUE, if both conditions are TRUE.
  • Num(Index, 1) is the subvector of Num(:,1), which contains only the elements, which are inside the searched range.
  • Same foe Value.

Sign in to comment.

More Answers (0)

Categories

Find more on Stress and Strain in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!