接收用户的输入,并将信息存储在矢量中

时间:2012-03-25 21:42:08

标签: matlab

我需要创建一个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

我遇到的问题是如果我不知道用户要输入多少个值,如何将这些信息存储在矢量中?

1 个答案:

答案 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会抱怨并建议您预先分配成绩。但是你不能事先知道矢量的大小,这完全不是速度,我认为这个解决方案已经足够好了。

祝你好运