How to write a function with a for loop

2 visualizaciones (últimos 30 días)
TRISHITA BANERJEE
TRISHITA BANERJEE el 4 de Jul. de 2018
Comentada: TRISHITA BANERJEE el 23 de Jul. de 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 comentarios
TRISHITA BANERJEE
TRISHITA BANERJEE el 4 de Jul. de 2018
Editada: Walter Roberson el 4 de Jul. de 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 el 4 de Jul. de 2018
You mentioned floor() earlier, but here you use round() instead?

Iniciar sesión para comentar.

Respuesta aceptada

Guillaume
Guillaume el 4 de Jul. de 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;

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by