loop while as much has first file

1 visualizzazione (ultimi 30 giorni)
Sara Sietinga
Sara Sietinga il 28 Nov 2016
Risposto: Sara Sietinga il 28 Nov 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 Commento
Preethi
Preethi il 28 Nov 2016
hi,
you can add one more input argument and an output argument which will indicate the count.

Accedi per commentare.

Risposte (3)

KSSV
KSSV il 28 Nov 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 il 28 Nov 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 il 28 Nov 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 :)

Categorie

Scopri di più su Loops and Conditional Statements 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