⼀、该程序是⽤来测输⼊数据的平均值和⽅差的公式:
⼆、 项⽬流程:
1. State the problem
假定所有测量数为正数或者0,计算这⼀系列测量数的平均值和⽅差。
假定我们预先不知道有多少测量数据被录⼊,⼀个负数标志着测量数据输⼊结束2. Define the inputs and outputs
程序要求输⼊的数是未知的正数或者0,程序输出的数是输⼊数据集的平均值和⽅差。除此之外,我们将打印出输⼊的数据数,因为它对于我们检查输⼊数据是有⽤的3.Define the algorithm
这个程序将被分为三个主要步骤:
Accumulate the input data
Calculate the mean(平均值)和standard deviation(⽅差)
Write out the mean, standard deviation , and number of points
第⼀个主要步骤是累计输⼊的数据,为了达到⽬的,我们将要求⽤户输⼊想要的数据,当每⼀个数据录⼊时,累计数量并求和,求平⽅和伪代码:
初始化 n, sum_x, and sum_x2为0请求⽤户输⼊读取输⼊数xwhile x>=0n <- n+1
sum_x <- sum_x +x;sum_x2 <- sum_x +x^2;读取下⼀个xend
注意:我们不得不读第⼀个数在while之前,以便于while循环第⼀次执⾏时有值第⼆步,我们计算平均值和⽅差,利⽤平均值公式和⽅差公式写伪代码:x_bar <- sum_x / n
std_dev <-sqrt( (n*sum_x2 - sum_x2^2) /(n*(n-1)) )第三步,我们输出结果输出平均值 x_bar输出⽅差值 std_dev输⼊输⼊数据的数量n
4.Turn the algorithm into MATLAB statements
% 脚本⽂件:states.m%
% ⽬标:
% 该程序⾸先累计输⼊未知的数(正数或者0),然后计算这个数据集的平均值和⽅差%
% 版本记录
% ⽇期 编者 描述
% ===== ========= ================% 2015-10-4 21:21 泡泡 源码%
% 定义变量:%
% m --输⼊样本数量
% std_dev --输⼊样本的⽅差% sum_x --输⼊样本的和
% sum_x2 --输⼊样本的平⽅和% x --输⼊样本值
% xbar --输⼊样本的平均值% % %
%清除变量或指令clc;
%变量初始化
n=0; sum_x=0;sum_x2=0;%读取第⼀个输⼊值
x=input ('请输⼊第⼀个数: ');%while循环while x >=0 %累积
n = n+1;
sum_x = sum_x +x; sum_x2 = sum_x2 +x^2;
%读取下⼀个值
x=input ('请输⼊下⼀个数: ');end
%计算⽅差和平均值
x_bar =sum_x /n;
std_dev =sqrt ( (n*sum_x2 - sum_x^2) /(n*(n-1)) );%输出
fprintf('您输⼊的数据总数为: %f\\n', n);fprintf('平均值是:%f\\n', x_bar);fprintf('⽅差是: %f\\n', std_dev);
5.Test the program
假定输⼊的数为 3 4 5 -1(结束标志)那么:
输出平均值 4输出⽅差值 1
输⼊输⼊数据的数量 3
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- yrrf.cn 版权所有 赣ICP备2024042794号-2
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务