I want only one value stored in this code

2 views (last 30 days)
I want to store a particular value in this loop, how can i do it please. the code is below
for t=1:1:30
s(t)=sum(v(t))+sum(v(1:t));
g(t)=v(t) - min(v(1:t));
if s(t) > 4
disp(t) %%%%%%%%line of interest
disp(v(t)) % if cumulative sum is greater than 4,note and display time of change
end
end
in the code above, the line (line of interest) displays the outcome of every iteration but i need it to only display the value of time t and the corresponding value of vector v when the threshold (4) is exceeded.
  4 Comments
Walter Roberson
Walter Roberson on 2 Aug 2018
If that is your code, then the explanation would have to be that s(t) is greater than 4 for each of those iterations.
Did you want to know only the first time it happens? Do you want to stop calculating s when it happens, or do you want to continue calculating s but only display those values the first time it happens?
Folakemi Omotoye
Folakemi Omotoye on 2 Aug 2018
to continue calculating s but display each time it exceeds 4

Sign in to comment.

Accepted Answer

Dennis
Dennis on 2 Aug 2018
Edited: Dennis on 2 Aug 2018
Does v actually contain negative values? Else every value in s will be greater 4 after it exceeds this threshold for the first time. Code below displays the first value of t and v(t) when this happens (needs adjustment if you want to change the increment of the loop).
for t=1:1:30
s(t)=sum(v(1:t));
g(t)=v(t) - min(v(1:t));
end
idx=find(s>4,1)
disp(v(idx));
  4 Comments
Dennis
Dennis on 2 Aug 2018
Edited: Dennis on 2 Aug 2018
You are welcome

Sign in to comment.

More Answers (0)

Categories

Find more on Get Started with MATLAB 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!