第一版中因为公式中含有:分母项:n(n-1),而程序并没有对输入数进行判定,如果仅仅输入一个或者一个都不输入,将会出现除0的情况

基于此,进行第二版改进。

代码:

  1. % 脚本文件:states.m
  2. %
  3. % 目标:
  4. % 该程序首先累计输入未知的数(正数或者0),然后计算这个数据集的平均值和方差
  5. %
  6. % 版本记录
  7. % 日期 编者 描述
  8. % ===== ========= ================
  9. % -- : 泡泡 源码
  10. % 2015-10-4 21:56 泡泡 纠正除0的情况(当仅输入01个数时)
  11. % 定义变量:
  12. %
  13. % m --输入样本数量
  14. % std_dev --输入样本的方差
  15. % sum_x --输入样本的和
  16. % sum_x2 --输入样本的平方和
  17. % x --输入样本值
  18. % xbar --输入样本的平均值
  19. %
  20. %
  21. %
  22. %清除变量或指令
  23. clc;
  24.  
  25. %变量初始化
  26. n=; sum_x=;sum_x2=;
  27.  
  28. %读取第一个输入值
  29. x=input ('请输入第一个数: ');
  30.  
  31. %while循环
  32. while x >=
  33. %累积
  34. n = n+;
  35. sum_x = sum_x +x;
  36. sum_x2 = sum_x2 +x^;
  37.  
  38. %读取下一个值
  39. x=input ('请输入下一个数: ');
  40. end
  41. % % 检查是否有足够数目的输入数据
  42. if n < 2 %数据量不足
  43.  
  44. disp('要求输入数据最少为2个');
  45. else
  46.  
  47. %计算方差和平均值
  48.  
  49. x_bar =sum_x /n;
  50. std_dev =sqrt ( (n*sum_x2 - sum_x^) /(n*(n-)) );
  51.  
  52. %输出
  53. fprintf('您输入的数据总数为: %f\n', n);
  54. fprintf('平均值是:%f\n', x_bar);
  55. fprintf('方差是: %f\n', std_dev);
  56. end
  57. % %

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

  1. matlab 利用while循环计算平均值和方差

    一.该程序是用来测输入数据的平均值和方差的 公式: 二. 项目流程: 1. State the problem假定所有测量数为正数或者0,计算这一系列测量数的平均值和方差.假定我们预先不知道有多少测量 ...

  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. 通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

    通过Jenkins跑Jmeter接口测试脚本,我想当有接口跑失败时Jenkins发送邮件通知,这个如何弄呢

  2. iOS 为label添加删除线

    UILabel *testLabel = [[ UILabel alloc] initWithFrame:CGRectMake(, , , )]; testLabel.numberOfLines = ...

  3. git如何正确回滚代码

    git如何正确回滚代码 方法一,删除远程分支再提交 ①首先两步保证当前工作区是干净的,并且和远程分支代码一致 $ git co currentBranch $ git pull origin curr ...

  4. 微信小程序之----组件

    1.view 把文档分割为独立的.不同的部分. view组件类似于html中的div标签,默认为块级元素,独占一行,可以通过设置display:inline-block改为行级元素. view.wxm ...

  5. Leetcode 176. Second Highest Salary

    Write a SQL query to get the second highest salary from the Employee table. +----+--------+ | Id | S ...

  6. selenium Chromediver

    Here we use wget to fetch the version number of the latest release, then plug the version into anoth ...

  7. SpringMVC常用注解@Controller,@Service,@repository,@Component

    SpringMVC常用注解@Controller,@Service,@repository,@Component controller层使用@controller注解 @Controller 用于标记 ...

  8. Python 线程池的实现

    import urllib2 import time import socket from datetime import datetime from thread_pool import * def ...

  9. RACSingle 有效的两种方式

    第一种当然是subscribeNext 另外还有一种就是作为Command的enablesingle也相当于被订阅了.

  10. iOS 开发 旧版 framework

    0. 参考 http://www.cocoachina.com/ios/20150127/11022.html http://www.cnblogs.com/gcb999/p/3296414.html ...