loop while as much has first file

1 visualización (últimos 30 días)
Sara Sietinga
Sara Sietinga el 28 de Nov. de 2016
Respondida: Sara Sietinga el 28 de Nov. de 2016
Hi everyone, I'm new at this so please bear with me :)
I have a function where it reads two files using another function which has a while inside that loops depending on the size of the file. Example: [MY function] record1 = read_file(fname1); record2 = read_file(fname2);
I need to make it so that the second file will only loop has much has the first did.
Is there any way to do this?
I'll await your suggestions ;)
  1 comentario
Preethi
Preethi el 28 de Nov. de 2016
hi,
you can add one more input argument and an output argument which will indicate the count.

Iniciar sesión para comentar.

Respuestas (3)

KSSV
KSSV el 28 de Nov. de 2016
You put both the files read_file(fname1) and read_file(fname2) under the same loop/ under the same condition. Then obviously both the files run for the same time.

Preethi
Preethi el 28 de Nov. de 2016
hi,
hope this helps
cnt=0;
[record1,cnt_op1] = read_file(fname1,cnt);
[record2,cnt_op2] = read_file(fname2,cnt_op1);
inside the function check second argument value, if its zero run till EOF else run till the length mentioned in second input argument. save the length of file (or while loop count)in output argument so that the same value can be passed as input next time.

Sara Sietinga
Sara Sietinga el 28 de Nov. de 2016
Thanks everyone for your answers.
This is a solution that served me well:
record1 = read_file(fname1); loopLimit=size(record1,2); record2 = read_file2(fname2,loopLimit); And inside read_file2: var=1; while(var<=loopLimit) (...) var=var+1; end
Hope this can also help some with the same issue.
Thanks again :)

Categorías

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

Community Treasure Hunt

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

Start Hunting!

Translated by