I want only one value stored in this code

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 件のコメント

Aquatris
Aquatris 2018 年 8 月 1 日
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.
Folakemi Omotoye
Folakemi Omotoye 2018 年 8 月 2 日
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 2018 年 8 月 2 日
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 2018 年 8 月 2 日
to continue calculating s but display each time it exceeds 4

サインインしてコメントする。

 採用された回答

Dennis
Dennis 2018 年 8 月 2 日
編集済み: Dennis 2018 年 8 月 2 日

0 投票

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 件のコメント

Folakemi Omotoye
Folakemi Omotoye 2018 年 8 月 2 日
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 2018 年 8 月 2 日
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.
Folakemi Omotoye
Folakemi Omotoye 2018 年 8 月 2 日
understood.thanks for the code
Dennis
Dennis 2018 年 8 月 2 日
編集済み: Dennis 2018 年 8 月 2 日
You are welcome

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeImages についてさらに検索

質問済み:

2018 年 8 月 1 日

編集済み:

2018 年 8 月 2 日

Community Treasure Hunt

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

Start Hunting!

Translated by