clc;
pstep = 20;
freq = (1:5);
itime = freq;
for i=1:5
itime(i) = itime(i-1) +(1./ pstep.*freq(i))
end
I wanted to use freq as 1 to 5 and to start calculating time from itime(1) where itime(0)=0 and start this loop for each freq.

 Réponse acceptée

Mathieu NOE
Mathieu NOE le 26 Mai 2021

0 votes

hello
in matlab , index are starting with 1 (it's not a zero based language) - so your code will not work for i = 1
I made a few modifications :
  • changed the initialisation , assuming the general rules applies to th first sample itime as well (to be confirmed by you)
  • in the for loop , be aware that how you wrote +(1./ pstep.*freq(i)) means freq(i) is at the numerator side , not at the denominator. I guess this is not waht you wanted so I changed the parenthesis accordingly
% finally this is the code after some corrections :
clc;
pstep = 20;
freq = (1:5);
itime = freq;
itime(1) = 1./ (pstep.*freq(1)); % updated
for i=2:5 % updated
itime(i) = itime(i-1) +1./ (pstep.*freq(i)); % updated
end

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements dans Centre d'aide et File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by