loop while as much has first file

1 view (last 30 days)
Sara Sietinga
Sara Sietinga on 28 Nov 2016
Answered: Sara Sietinga on 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 Comment
Preethi
Preethi on 28 Nov 2016
hi,
you can add one more input argument and an output argument which will indicate the count.

Sign in to comment.

Answers (3)

KSSV
KSSV on 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 on 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 on 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 :)

Community Treasure Hunt

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

Start Hunting!