Using the answer of inputdlg into a Matlab Expression
Show older comments
Hello everybody,
I am trying to write some piece of code which asks for the name of a previously defined variable and uses the answer in some calculations. Everything works fine when I use 'input' to ask for that name. But I want to use the 'inputdlg' command. The problem is that 'inputdlg' returns user input in a cell array. I tried converting the cell with 'str2double' but that only works for numbers (won't work when trying to convert the name of the variable!). This is the piece of code:
Source = inputdlg('Name given to the vector containing the sample: ');
Fs = inputdlg('Sampling Frequency: '); % Sampling frequency
Fs = str2double(Fs);
Source = str2double(Source(1,1));
T = 1/Fs; % Sample time
L = length(Source); % Length of signal
t = (0:L-1)*T; % Time vector
NFFT = 2^nextpow2(L); % Next power of 2 from length of y
Y=fft(Source,NFFT)/L;
2 Comments
Azzi Abdelmalek
on 30 Apr 2013
What is the error message?
Alessandro
on 30 Apr 2013
Edited: Alessandro
on 30 Apr 2013
Answers (2)
Azzi Abdelmalek
on 30 Apr 2013
Use
Source = char(Source)
Source = eval(char(inputdlg())) helps
THANKS
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!