Opening a file that contains a user defined word

6 Ansichten (letzte 30 Tage)
D F
D F am 3 Nov. 2017
Kommentiert: D F am 6 Nov. 2017
I have a code that asks the user to input 4 numbers. I then need to open the txt file that contains these numbers. The txt file's name is: 'PlotValues(then the user defined numbers).txt. The code correctly gets the user defined numbers (called Numbers below), it is from then where it breaks:-
Numbers = answer
FileName = 'PlotValues'Numbers'.txt';
file_id = fopen(FileName);
data = textscan(file_id,'%f %f','HeaderLines', 1);
fclose(file_id);
x = data{1};
y = data{2};
plot(x,y)

Akzeptierte Antwort

Chenchal
Chenchal am 3 Nov. 2017
% code
% Issue may be with how you are using Numbers
% assumption: Numbers is a vector
% convert Numbers to row vector and do a num2str before concat
fileBase = 'PlotValues';
fileExt = '.txt';
Numbers = [1;2;3;4]; % or [1 2 3 4]
FileName = [fileBase num2str(Numbers(:)','%d') fileExt];
% Check if filename matches the file on disk
% see for textscan
<https://www.mathworks.com/help/matlab/ref/textscan.html textscan>
  1 Kommentar
D F
D F am 6 Nov. 2017
Brilliant! Thanks for the help, Numbers was a cell array so cell2mat has worked

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Low-Level File I/O 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