我需要创建一个matlab程序,它接受来自用户的数值,直到它们输入N,并将值存储在矢量中。
到目前为止我已经
了Y=true;
N = false;
while (true)
for k=...
grades(k)=input('Enter a numerical value from 0 to 100: \n');
d = input('Do you want to enter another grade? (Y/N): \n');
end
end
我遇到的问题是如果我不知道用户要输入多少个值,如何将这些信息存储在矢量中?
答案 0 :(得分:1)
最简单的方法是将新用户输入连接到用户输入向量。这样,你的矢量将永远增长。另一件事是你的for
循环,当用户键入N时你必须打破循环,对吧?所以你真的不需要这两个循环,否则你的脚本会无限期地运行。
Y=true;
N = false;
grades = [];
while (d ~= 'n' && d ~= 'N')
grades = [grades input('Enter a numerical value from 0 to 100: \n')];
d = input('Do you want to enter another grade? (Y/N): \n');
end
最后一件事:matlab会抱怨并建议您预先分配成绩。但是你不能事先知道矢量的大小,这完全不是速度,我认为这个解决方案已经足够好了。
祝你好运