Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

New to MATLAB?

How can I change fileID name in a for loop?

Asked by Maazen ALSABAAN

Maazen ALSABAAN (view profile)

on 14 Nov 2012

Hi, I have this for loop

for i=1:3
    if i==1
    fid = fopen('report_1.xls', 'wt');       
    end
    if i==2
    fid = fopen('report_2.xls', 'wt');        
    end
    if i==3
    fid = fopen('report_3.xls', 'wt');        
    end
end

In fact, I have much bigger than this loop. The problem is that I have to repeat fopen for each i. My question is can I avoid the if statements. So, the value of i can be written in fileID without adding it manually. For example,

for i=1:3
   fid = fopen('report_i.xls', 'wt');       
end

The above example will create a file named "report_i". However, I want to create 3 files named "report_1" , "report_2", and "report_3". How can I do that?

Thank you so much in advance

0 Comments

Maazen ALSABAAN

Maazen ALSABAAN (view profile)

Products

2 Answers

Answer by Pedro Villena

Pedro Villena (view profile)

on 14 Nov 2012
Edited by Pedro Villena

Pedro Villena (view profile)

on 14 Nov 2012
Accepted answer
 for i=1:3
    fid(i) = fopen(sprintf('report_%d.xls',i), 'wt');       
 end

1 Comment

Maazen ALSABAAN

Maazen ALSABAAN (view profile)

on 14 Nov 2012

Thank you! I appreciate it

Pedro Villena

Pedro Villena (view profile)

Answer by C.J. Harris

C.J. Harris (view profile)

on 14 Nov 2012

2 Comments

Maazen ALSABAAN

Maazen ALSABAAN (view profile)

on 14 Nov 2012

Thank you! I appreciate it

Jan Simon

Jan Simon (view profile)

on 14 Nov 2012

And when you read this section of the FAQ, read the rest also. It is very efficient to profit from the mistakes, which have been made repeatedly by others.

C.J. Harris

C.J. Harris (view profile)

Contact us