Drexel dragonThe Math ForumDonate to the Math Forum



Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.


Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: parfor: keep outputs with same output filename
Replies: 12   Last Post: Aug 1, 2013 2:35 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Torsten

Posts: 1,459
Registered: 11/8/10
Re: parfor: keep outputs with same output filename
Posted: Jul 23, 2012 6:05 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

On 23 Jul., 11:45, Mike <Sulfate...@gmail.com> wrote:
> Hi, dpb
>
> thank you for your info.
> To be more clear, I simply my question with follows:
> 1) I create a fortran file with following:
>
> program main
> integer:: i
> open(10,file='inputpar.dat',status='old')
> read(10,*) i
> write(30,*) i
> write(*,*) 'fortran main :', i
> end
>
> I compile it within the project and have Console2.exe in 'D:\temp\Console2\Console2\Debug'.
>
> 2) in matlab, I have following:
> fid2=fopen('test.dat','a'); % this file should be run parallel'
> matlabpool open local 3
> parfor i=1:100
>     fid1=fopen('inputpar.dat','w'); % be read by Console2.exe
>     fprintf(fid1,'%2d\n',i);
>     fclose(fid1);
>     dos('Console2.exe<inputpar.dat');
>     out=importdata('fort.30')
>     fprintf(fid2,'%2d\n',out);
> end
> matlabpool close
> s=load('test.dat')
>
> Then I run this cell (step 2), I have the results:
> Starting matlabpool using the 'local' configuration ... connected to 3 labs.
>  fortran main :          64
>  fortran main :          64
>  fortran main :          64
> ??? Error using ==> parallel_function at 598
> Error in ==> parallel_function>make_general_channel/channel_general at 894
> Invalid file identifier.  Use fopen to generate a valid file identifier.
>
> I've checked the content in inputpar.dat is 64.
> I've also checked the content in fort.30 is also 64.
> I also check
>

> >> out=importdata('fort.30')
>
> out =
>
>     64
>
> I don't understand the error message shown above.
> May you explain for me?
>
> Thank you in advance.
>
> Mike
>
>
>
> On Sunday, July 22, 2012 2:20:58 AM UTC+8, dpb wrote:

> > On 7/20/2012 10:56 PM, Mike wrote:
> > &gt; Hi,
> > &gt;
> > &gt; If I run an exection file which output the same filename for many
> > &gt; times using parfor, the output files will be overwritten. At last, I
> > &gt; have only one output file. How to keep the output file in every run?
> > ...

>
> > I presume you&#39;re looking for the &#39;append&#39; option for fopen???
>
> > doc fopen
>
> > --- Zitierten Text ausblenden -
>
> - Zitierten Text anzeigen -


Filenames in MATLAB have to start with a letter.
Look at "Naming Other Files" under
http://www.mathworks.de/help/techdoc/matlab_prog/f10-61281.html

Best wishes
Torsten.




Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© Drexel University 1994-2014. All Rights Reserved.
The Math Forum is a research and educational enterprise of the Drexel University School of Education.