Azzera filtri
Azzera filtri

How to write a function with a for loop

1 visualizzazione (ultimi 30 giorni)
if t(i)=L1*(i-1)+ L[(i-1)/e]*t_k
i get
t1=0;
t2=L1;
t3=2*L1+t_k;
t4=3*L1+t_k;
where e=2 and i want to have a floor function for L[ (i-1)/e].How to create a function for the following with input e,imax,L1 and t_k like function delay(e,imax,L1,t_k) with a for loop
  2 Commenti
TRISHITA BANERJEE
TRISHITA BANERJEE il 4 Lug 2018
Modificato: Walter Roberson il 4 Lug 2018
Can any one verify if its correct
function t = delay (e, imax, L1 , t_k)
t = cell(imax,imax);
for i=1:imax
t(i) = L1 * (i-1) + round((i-1) / e)* t_k;
end
Walter Roberson
Walter Roberson il 4 Lug 2018
You mentioned floor() earlier, but here you use round() instead?

Accedi per commentare.

Risposta accettata

Guillaume
Guillaume il 4 Lug 2018
What's stopping you from trying? You'll quickly find out that it errors.
t = zeros(imax);
or probably better
t = zeros(1, imax);
would get rid of the error. Whether or not it's what you want, I don't know.
Note that the same can be achieved without a loop:
im = 0:imax - 1;
t = L1 * im + round(im /e) * t_k;

Più risposte (0)

Community Treasure Hunt

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

Start Hunting!

Translated by