我是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
但这对我不起作用。我现在该怎么办?
假设您r
可以包含字符串(不仅仅是数字):
npattern=inputdlg('Enter the number of Patterns');
a=str2num(npattern{1});
for ii=1:a;
r{ii}=inputdlg('Enter Data');
end
评论:
inputdlg
返回一个字符串元胞数组i
用作变量(默认情况下i
)sqrt(-1)
r
在您的代码中被覆盖在每次迭代。更好地使用元胞数组end
太多了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