help with concatenation to open file
3 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
lucas
am 23 Okt. 2013
Kommentiert: Vivek Selvam
am 5 Nov. 2013
hello, can anyone help me to make this concatenation work?
I need a routine that ask the user to type the word 'work' and number '2' and also, only permits receive the answer 'work' and '2'
i tought something like this
% enter the right name of the file
work = inputdlg (a);
t=str2num(char(work));
_if t =~ work
..._
% enter the right number of the file
number = inputdlg (b);
n=str2num(char(number(1)));
if n~=2
disp('ERROR: Please type 2');
else
% concatenate
name = [ t, '_' , n ];
name_file = [ name, '.txt' ];
load (name_file);
thx :)
1 Kommentar
dpb
am 23 Okt. 2013
Well, if you're only going to allow one answer, why make the user work (so to speak)? Just define it.
But, the general question -- to compare a string
doc strncmp % and friends
To compare numeric, just use '==' or for arrays see
doc isequal
As a stylistic note, dereference the cell array contents with the curly braces "{}" instead of using char()
n=str2num(num{1});
This kind of logic is also a good location for a while...end loop enclosing a try...catch block to handle error and repeat the question until proper answer is obtained (or user gives up in frustration--don't forget to have a way to exit)
Akzeptierte Antwort
Vivek Selvam
am 23 Okt. 2013
Bearbeitet: Vivek Selvam
am 23 Okt. 2013
Try doc function for the new functions you find in the following code.
This is one way to do what you want:
a = 'Type the name of the file:'; % u need to type work
b = 'Type the number of the file:'; % you need to type 2
t = ''; % initialize file name
n = NaN; % initialize file number
tRequired = 'work';
nRequired = 2;
% enter the right name of the file
while strcmp (t,tRequired) == 0 % loop till the file name is not same
t = input (a,'s'); % get input as string
end
% enter the right number of the file
while n ~= nRequired % loop till the number of file is not same
n = input (b,'s'); % get input as string
n = str2double(n);
end
name = [ t, '_' , num2str(n) ];
name_file = [ name, '.txt' ];
disp(name_file);
load (name_file);
0 Kommentare
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Creating and Concatenating Matrices 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!