# How to write a function with a for loop

1 visualizzazione (ultimi 30 giorni)
TRISHITA BANERJEE il 4 Lug 2018
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 CommentiMostra NessunoNascondi Nessuno
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 il 4 Lug 2018
You mentioned floor() earlier, but here you use round() instead?

Accedi per commentare.

### Risposta accettata

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;
##### 1 CommentoMostra -1 commenti meno recentiNascondi -1 commenti meno recenti
TRISHITA BANERJEE il 23 Lug 2018
Thanks a lot

Accedi per commentare.

### Categorie

Scopri di più su Logical in Help Center e File Exchange

### Community Treasure Hunt

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

Start Hunting!

Translated by