显示用户MATLAB编写的所有数字的平均值

时间:2015-03-26 20:51:54

标签: loops mean

我是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)]);

1 个答案:

答案 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'的末尾。