Info

Cette question est clôturée. Rouvrir pour modifier ou répondre.

If y(j) is less than some number (say 3) then I want to use higher value of k (say 4) but in the range of 5th iteration before and after y becomes 3. For example in 40th iteration y becomes 3. I want to use k=7 from 35th to 45th iteration. Pls help.

1 vue (au cours des 30 derniers jours)
Dharma
Dharma le 26 Mar 2018
Clôturé : MATLAB Answer Bot le 20 Août 2021
N=100;
dt=0.05;
k=2;
t=zeros(N,1);
y=zeros(N,1);
y(1)=2;t(1)=0;
for j=1:N-1
t(j+1)=t(j)+dt;
y(j+1)=y(j)+dt*(2+k);
end
plot(t,y)
  2 commentaires
John D'Errico
John D'Errico le 26 Mar 2018
Modifié(e) : John D'Errico le 26 Mar 2018
Your question is quite confusing, because the criteria seems to be depend on several things that are not really clear.
Regardless, what stops you from using an if statement to choose k, based on the value of y(j), or iteration, etc?
Dharma
Dharma le 26 Mar 2018
Thank you John,
My actual code involves sine function. If I impose if condition on y and then use higher value of k ( if y (j) <3 k=4) then many spikes ( means k=4 is taken frequently like spikes) in k vs t plots will be seen. So I am trying to give k=4 for some finite interval of time. But that time interval should be the one in which y goes beyond 3.

Réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by