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

公式:

二、 项目流程:

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. Spring自学教程-注解的使用(三)

    一.java中的注解 定义注解 下面是一个定义注解的实例. @Target(ElementType.TYPE)@Retention(RetentionPolicy.RUNTIME)@Documente ...

  2. 怎样判断iOS App是通过哪种途径启动的?

    http://www.cnblogs.com/daguo/p/3759514.html - (BOOL)application:(UIApplication *)application didFini ...

  3. tp框架实现ajax注册验证

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. select取值问题

    全栈攻城狮们给挖了各种坑..其中一个典型是select控件取值.直接上代码: <!DOCTYPE html> <html lang="en"> <he ...

  5. 在 WindowMobile 上的模拟LED 显示屏插件(转)

    源:在 WindowMobile 上的模拟LED 显示屏插件 我在给一个对话框上的控件查找翻看合适的图标时,无形中看到了一个LED显示屏的图标,这里所说的LED显示屏是指由很多LED灯密集排列组成的点 ...

  6. 创建和使用MySQL计划事件

    查看事件调度程序线程的状态: SHOW PROCESSLIST; 要启用和启动事件调度程序线程命令: SET GLOBAL event_scheduler = ON; 禁用和停止事件调度程序线程: S ...

  7. 横向滚动视图scroll-into-view不起作用

    横向视图scroll-into-view指定的id为hpink,但是效果图中显示的还是第1个view(未达到效果); 纵向视图scroll-into-view指定的id为yellowgreen,效果图 ...

  8. Eclipse发布Maven项目到远程服务器

    pom.xml中的配置依赖有两种: 一.tomcat-maven.plugin <plugin> <groupId>org.codehaus.mojo</groupId& ...

  9. XP Mode 虛擬機器 for Windows 7

    免驗證官方直接下載 官網 Download Windows Virtual PC XP Mode for Windows 7 性質 Windows 7 免費 / en 多國 繁體中文(Traditio ...

  10. 【bug】java.lang.NoSuchMethodError: android.widget.TextView.setBackground

    安卓的背景色设置需要根据SDK的版本来分情况考虑: if (Build.VERSION.SDK_INT >= 16) { textView.setBackground(null); } else ...