MATLAB Answers

0

how to open *.txt files with variable names

Asked by zahra matlab on 13 Oct 2014
Latest activity Edited by Stephen Cobeldick on 4 Mar 2019
hi I have a function '[dl]=funcall(x,y)' and in it I want to create *.text file with variable names and write out put vectors 'dl'. such as this
function [dl]=funcdl(x,y)
.........
fid=fopen('DL.txt', 'wt');
fprintf(fid, '%f\n',dl);
fprintf(fid, '\n');
fclose(fid);
......
but every time by calling function it creates the same name 'DL.txt' and overwrites out put!!! any one can help me???

  0 Comments

Sign in to comment.

Tags

2 Answers

Stephen Cobeldick 님의 답변 13 Oct 2014
Stephen Cobeldick 님이 편집함. 13 Oct 2014
 채택된 답변

  1 Comment

Try this, for example:
for k=1:3
str = sprintf('temp%d.txt',k);
fid = fopen(str,'wt');
...
... write data to your file here (fprintf, or whatever...)
...
fclose(fid);
end
EDIT: uses sprintf, based on the comments of Image Analyst and Robert Cumming.

Sign in to comment.


Answer by Gaurav Shukla on 13 Oct 2014

Consider an array
VarName = [A,B,C];
for i=1:3
str = strcat('fopen(''',VarName(i),'.txt','wt');
eval(str);
end

  14 Comments

You don't have the experience to come up with a single example? Or is this just an attempt at rhetoric..
How about this example (from one of your own questions):
In a comment to one of the answers to that question you write "Its just that the code I inherited is just an absolute catastrophe when it comes to formatting and practice".
This seems to contradict your earlier comment on this thread: "I'm all for good coding practice, but at the same time when you need a fast, effect, simple, easy to understand solution for a quick job, sometimes being an elitist about your code is more of a hinderance and bottleneck then anything else".
And yet it seems that someone else's "fast, effect[ive], simple" solution became your "absolute catastrophe" problem to solve, which really did cause you a "hinderance and bottleneck" : not because it was well written code, but because it was poorly written code and because this is usually what poorly written and obfuscated code does.
MATLAB's inbuilt tools help to avoid basic syntax mistakes, which goes part of the way to writing good code. So, dear reader, why not use them?
For new readers, read all of these comments and
Do NOT use this code

Sign in to comment.