我是matlab的新手,我必须编写一个程序,您可以在命令窗口中输入多个值,程序应该继续要求用户输入一个数字,直到用户输入数字0。输入0时,程序应显示平均值,输入的最大数字和输入的最小数字。我已经达到了可以输入值的程度。但是,程序仅在x中显示最大值,最小值和平均值时显示最近输入的值。
非常感谢有关如何进行的建议。
这是我现在的代码:
function laboration_20150431
Loop = true;
while(Loop)
s = input('Write number, enter 0 to quit:');
if s~=0
Loop = true;
else
Loop = false;
end
end
meanvalue = mean(s);
highest = max(s);
lowest = min(s);
disp(['Mean value: ' num2str(meanvalue)]);
disp(['Max value: ' num2str(highest)]);
disp(['Min value: ' num2str(lowest)]);
答案 0 :(得分:0)
变量s总是被覆盖。您应该使用其他数组。像这样:
function laboration_20150431
Loop = true;
x=[];
while(Loop)
s = input('Write number, enter 0 to quit:');
if s~=0
Loop = true;
x = [x s];
else
Loop = false;
end
end
meanvalue = mean(x);
highest = max(x);
lowest = min(x);
disp(['Mean value: ' num2str(meanvalue)]);
disp(['Max value: ' num2str(highest)]);
disp(['Min value: ' num2str(lowest)]);
如果新输入'''不为零,则附加到'x'的末尾。