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 Kommentare

Aquatris
Aquatris am 1 Aug. 2018
Does S(t) go above multiple times? if so do you only want the first time it goes above? Share your whole code, with S and v variables, so we can have better understanding.
i want it to display only at times that the value is above the threshold. that is the whole code. {v= 1x30 matrix} and {t=1:1:30}
Walter Roberson
Walter Roberson am 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?
to continue calculating s but display each time it exceeds 4

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Dennis
Dennis am 2 Aug. 2018
Bearbeitet: Dennis am 2 Aug. 2018

0 Stimmen

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 Kommentare

what is the significance of the 1 in your line of code {idx=find(s>4,1)}
how can i have it to be within the loop such that each time it exceeds the threshold in all iterations, it will always display or store the value at that point and record the time as well.
Dennis
Dennis am 2 Aug. 2018
The 1 is the number of values greater 4 to be shown. From my understanding the loop will always exceed 4 after this point (unless there are negative values). If you omit the 1 you will get all values greater 4, however these will almost be the same as in the code you have shown.
understood.thanks for the code
Dennis
Dennis am 2 Aug. 2018
Bearbeitet: Dennis am 2 Aug. 2018
You are welcome

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by