0

我是matlab的新手,我搜索了很多,但我没有找到答案。我想在 for 循环中从用户那里获取数据并将该数据放入矩阵中。我使用了这段代码:

npattern=inputdlg('Enter the number of Patterns');
a=npattern(1,1);
for i=1 : a(1,1);
    r=inputdlg('Enter Data');
    end
end

但这对我不起作用。我现在该怎么办?

4

2 回答 2

2

假设您r可以包含字符串(不仅仅是数字):

npattern=inputdlg('Enter the number of Patterns');
a=str2num(npattern{1});
for ii=1:a;
    r{ii}=inputdlg('Enter Data');
end

评论:

  • inputdlg返回一个字符串元胞数组
  • 最好不要i用作变量(默认情况下isqrt(-1)
  • r在您的代码中被覆盖在每次迭代。更好地使用元胞数组
  • end太多了
于 2013-11-05T17:46:16.173 回答
1
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
于 2013-11-05T17:43:59.093 回答