How to request+input variable name+value then write to file?

1 Ansicht (letzte 30 Tage)
I am trying to write a script that:
asks user for matrix name %like mat1
asks user for matrix value %like [20,30]
writes the matrix to a file
every time the script is run I want new data added to file, NOT overwriting what's already there.
-------
I use code like this to ask for variable value but don't know how to ask for variable name.
mat1 = input('Enter Name: \n','s');
-------
I use code like this to write to file but I don't know how to write a variable whose name I do not know prior to user putting it in. I also don't know how to make it so it doesn't over write information already present in file.
fid = fopen('locations.dat', 'w');
fprintf(fid,'%s\n',loc1M);
fclose(fid);

Akzeptierte Antwort

Walter Roberson
Walter Roberson am 13 Sep. 2012
To append: Open the file with 'a' instead of 'w'.
You do not need to write a matrix whose name you do not know. In your problem description, the matrix name can be treated as a pure string to be written at output time: you never need to store anything into a variable with that name. Something like
fprintf(fid, '%s\n', matrix_name);
fprintf(fid, '%f ', matrix_value);
except that you need to adjust the writing of matrix value to get the correct number of columns across.
  3 Kommentare
Walter Roberson
Walter Roberson am 13 Sep. 2012
fprintf(fid, '%s %f %f\n', location_name, latitude, longitude);
sono
sono am 18 Sep. 2012
Bearbeitet: sono am 18 Sep. 2012
THANKS! That seems to work great except it writes
|.wSANJOSE 20.000000 30.000000
plus a little arrow character between "." and "w" that I cant paste in to this window. Any way to get rid of that "|.w" gibberish?
Could you recommend a command to search the file for name and import the adjacent variables (latitude/longitude)?
thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Data Import and Analysis finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by