Reputation: 1023
I'm new in matlab, I've searched a lot but I didn't find my answer. I want to get data from user in a for loop and put that data in matrix. I used this code:
npattern=inputdlg('Enter the number of Patterns');
a=npattern(1,1);
for i=1 : a(1,1);
r=inputdlg('Enter Data');
end
end
But it doesn't work for me. What should I do now?
Upvotes: 0
Views: 533
Reputation: 112659
Assuming your r
can contain strings (not just numbers):
npattern=inputdlg('Enter the number of Patterns');
a=str2num(npattern{1});
for ii=1:a;
r{ii}=inputdlg('Enter Data');
end
Comments:
inputdlg
returns a cell array of stringsi
as a variable (i
is sqrt(-1)
by default)r
in your code is overwritten at each iteration. Better use a cell arrayend
too manyUpvotes: 2
Reputation: 83157
x=inputdlg('Enter the number of Patterns');
data = str2num(x{:});
r = zeros(data, 1);
for i=1:data
x = inputdlg('Enter Data');
r(i, 1) = str2num(x{:});
end
Upvotes: 1