数学知识:
标准偏差表示随机变量取值与其期望值的偏差。 标准偏差值较大时,表示该随机变量的可取值与其期望值的偏差较大
相反,则表示该偏差较小。
函数功能:
函数必须能够接受一次输入值,并记录相应的输入数n、sum(Xi )、sum(Xi)以计算当前平均值和标准偏差。
输入n、sum(Xi )、sum(Xi ) Xi^2)必须存储在永久内存中,以便每次调用时不会消失,最后一个函数必须具有根据需要将这些值清零的功能。
1. State the problem
编写计算当前输入数据平均值和标准偏差的程序。 函数需要计算和清除功能(如果需要)
2 .定义the inputs and outputs
输入变量:“reset”用于清除输入数n、sum(Xi )、sum(Xi)时
3.(设计代码) )。
此函数分为四个步骤:
1 ) checkforalegalnumberofarguments
2 ) check fora‘reset’,and resets sums if preset,otherwise,add current value to running sums
3 ) calculateandreturnruningaverageandstddevifenoughdataisavailable
返回zeros if not enough data
4 )这些步骤的伪代码:
检查输入的各数量的合法性
if x==‘reset’
n
sum_x
sum_x2
else
n
sum_x
sum_x2
计算%平均值ave和方差std
if n==0
ave
std
else if n==1
ave
std
else
ave
std
结束
4.turnthealgorithmintomatlabstatements
自定义函数: runstats.m
function [ave, STD]=%RUNSTATS(x ) runstats随时计算一组数的平均值和方差%输入数x必须每次计算一次,当输入字符串‘reset’时, 永久变量清零%是输入输出变量% ave --平均值% msg --错误消息%n----一组数量个数% std --方差% sum_x --一组数量之和% sum_x2 --一组数量的平方
% 2015-10-9 17:43:33王茂春源代码%永久变量声明(重要) ) ) )
持续n %输入数的个数
持续总数_ x %输入数之和
检查persistent sum_x2 %输入数的平方和%输入数的合法性
msg=nargchk (1,1,nargin ); %最低检查1个参数、最多检查1个参数、输入变量
错误(msg; %输入时‘reset’,if x==‘reset‘n=0;
sum_x=0;
sum_x2=0; elsen=n 1;
sum_x=sum_x x;
sum_x2=sum_x2 x^2;
end%计算平均值和方差if n==0 %0输入
ave=0;
std=0;
elseif n==1 %1输入
ave=sum_x;
std=0; elseave=sum_x /n;
STD=sqrt((n*sum_x2-sum_x^2)n*(n-1 ) ) )
结束
调用函数test_runstats.m :
%脚本文件: test_runstats.m%
%程序目的计算:%输入的一系列数的平均值和方差,%随时保存值。
%版本记录: %日期负责人版本说明%=================================
% 2015-10-9 17:43:33王茂春源代码%
%定义变量: % array --数组% ave --平均值% ii --循环索引% nvals --输入数的数量% std --方差%首先重置为零并初始化
[aveSTD]=runstats(‘reset‘); %确定输入数的数量
输入nvals=input(‘ (“(此组的总数为:‘”); %获取输入值for ii=1:nvals%提示输入(此方法:分两个句子学习)。 )
string=[‘数值‘int2str(ii )‘:’];
x=input (字符串; 调用%函数进行求解(输出变量为多个) )。
[aveSTD]=runstats(x ); 显示%运算结果
fprintf(‘(平均值=%8.4f; 标准差=%8.4fn‘、ave、std;
结束
译文: 3358 www.cn blogs.com/Shuqing study/p/4864610.html