Opening a file that contains a user defined word

3 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)

Community Treasure Hunt

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

Start Hunting!

Translated by