一、该程序是用来测输入数据的平均值和方差的

公式:

二、 项目流程:

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
请求用户输入
读取输入数x
while x>=0
n <- n+1
sum_x <- sum_x +x;
sum_x2 <- sum_x +x^2;
读取下一个x
end
注意:我们不得不读第一个数在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),然后计算这个数据集的平均值和方差
%
% 版本记录
% 日期 编者 描述
% ===== ========= ================
% -- : 泡泡 源码
%
% 定义变量:
%
% m --输入样本数量
% std_dev --输入样本的方差
% sum_x --输入样本的和
% sum_x2 --输入样本的平方和
% x --输入样本值
% xbar --输入样本的平均值
%
%
%
%清除变量或指令
clc; %变量初始化
n=; sum_x=;sum_x2=; %读取第一个输入值
x=input ('请输入第一个数: '); %while循环
while x >=
%累积
n = n+;
sum_x = sum_x +x;
sum_x2 = sum_x2 +x^; %读取下一个值
x=input ('请输入下一个数: ');
end %计算方差和平均值 x_bar =sum_x /n;
std_dev =sqrt ( (n*sum_x2 - sum_x^) /(n*(n-)) ); %输出
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

matlab 利用while循环计算平均值和方差的更多相关文章

  1. matlab 利用while循环计算平均值和方差(第二版)

    第一版中因为公式中含有:分母项:n(n-1),而程序并没有对输入数进行判定,如果仅仅输入一个或者一个都不输入,将会出现除0的情况 基于此,进行第二版改进. 代码: % 脚本文件:states.m % ...

  2. Java利用while循环计算1+1/2!+1/3!……+1/20!

    编写程序,用while语句计算1+1/2!+1/3!……+1/20!,并在控制泰山输出计算结果.要求1+1/2!+1/3!……+1/20!,其实就是求1+1*1/2+1*1/2*1/3+……+1*1/ ...

  3. matlab 利用persistent关键字 存储持久变量

    数学知识:标准差体现随机变量取值与其期望值的偏差.标准差的值较大,则表明该随机变量的取值与其期望值的偏差较大反之,则表明此偏差较小.函数功能:函数必须能够接受一次输入值并记录对应的已输入数N.sum( ...

  4. 解决Matlab当中for循环运行慢的问题

    做量化操作的时候经常需要使用到matlab编写策略或者计算多因子,for循环非常慢,自己找了一些matlab中for循环的优化方法,for的部分每处理一个大矩阵都要花费大量的时间,这是不可避免需要遇到 ...

  5. for循环计算阶乘的和,for循环计算阶乘倒数的和

    计算阶乘的和 //阶乘的和,5!+4!+3!+2! int a = 5; for(int b = 4; b > 0; b--) { a = a * b; } //先定义好最大数的阶乘是多少 in ...

  6. Matlab Robotics Toolbox 仿真计算:Kinematics, Dynamics, Trajectory Generation

    1. 理论知识 理论知识请参考: 机器人学导论++(原书第3版)_(美)HLHN+J.CRAIG著++贠超等译 机器人学课程讲义(丁烨) 机器人学课程讲义(赵言正) 2. Matlab Robotic ...

  7. 利用CORDIC算法计算三角函数

    这里主要先介绍如何利用CORDIC算法计算固定角度\(\phi\)的\(cos(\phi)\).\(sin(\phi)\)值.参考了这两篇文章[1].[2]. 一般利用MATLAB计算三角函数时,用\ ...

  8. iOS 利用for循环创建九宫格

    // 利用for循环创建九宫格 - (void)createScratchableLatex{ // 总列数 ; // 每一格的尺寸 CGFloat cellW = (self.frame.size. ...

  9. 利用switch语句计算特定的年份的月份共有几天。

    //利用switch语句计算特定的年份的月份共有几天. let year =2015 let month =2 //先判断闰年中二月份的情况 ifmonth ==2 { if (year %400 = ...

随机推荐

  1. C缺陷与陷阱----读书笔记---第一章

    第一章:词法陷阱 编译器中负责将程序分解为一个一个符号的部分,一般称为“词法分析器”.例如,对于语句: if ( x == big ) big = x ; 它的第一个符号是C语言关键字if,紧接着下一 ...

  2. instancetype 和 id 的区别

    原文:http://blog.csdn.net/sirodeng/article/details/50516478 一.什么是instancetype instancetype是clang 3.5开始 ...

  3. STM32的优先级NVIC_PriorityGroupConfig

    关于STM32的中断优先级 1.STM32中每一个中断都有一个专门的寄存器,(Interrupt Priority Register),来描述该中断的占先式优先级和副优先级,在这个寄存器中STM32使 ...

  4. sqlserver 批量删除相同前缀名的表

    ) DECLARE tmpCur CURSOR FOR SELECT name FROM sys.objects WHERE TYPE='U' AND name LIKE N'HSUPA%' OPEN ...

  5. 使用React Native来撰写跨平台的App

    React Native 是一个 JavaScript 的框架,用来撰写实时的.可原生呈现 iOS 和 Android 的应用.其是基于 React的,而 React 是 Facebook 的用于构建 ...

  6. java系列--I/O流

    java.io类 一.I/O流 1.流的概念 二. InputStream --此抽象类是表示字节输入流的所有类的超类. 1.public int read(byte[] b) throws IOEx ...

  7. 使用python爬取MedSci上的期刊信息

    使用python爬取medsci上的期刊信息,通过设定条件,然后获取相应的期刊的的影响因子排名,期刊名称,英文全称和影响因子.主要过程如下: 首先,通过分析网站http://www.medsci.cn ...

  8. Linux用户和用户组管理总结

    Linux下和用户和用户组管理有关的配置文件: /etc/group Group account information. /etc/gshadow Secure group account info ...

  9. debugger 调试的一些经验

    1. 如果没有firebug , 可以用firebug-lite.js 内嵌的调试方式. 2. console.log 不是所有浏览器都支持console.log 在IE或者没有调试窗口的浏览器中,c ...

  10. centos5.5开机自动启动服务的方法

    *** chkconfig --list 查看所有的***chkconfig --list smb 查看指定的输出的结果:httpd           0:off   1:off   2:off   ...