matlab上一次计算结果影响,matlab运行结果跟手算结果不一致怎么办
运行结果跟手算结果不一样 是什么原因啊?
代码如下:
clear all
y=xlsread('数据.xls','sheet4','A1:A60');
%获取y的样本数
n=length(y);
% 正序列计算---------------------------------
% 定义累计量序列Sk,长度=y,初始值=0
Sk=zeros(size(y));
% 定义统计量UFk,长度=y,初始值=0
UFk=zeros(size(y));
% 定义Sk序列元素s
s = 0;
% i从2开始,因为根据统计量UFk公式,i=1时,Sk(1)、E(1)、Var(1)均为0
% 此时UFk无意义,因此公式中,令UFk(1)=0
for i=2:n
for j=1:i
if y(i)>y(j)
s=s+1;
else
s=s+0;
end;
end;
Sk(i)=s;
E=i*(i-1)/4; % Sk(i)的均值
Var=i*(i-1)*(2*i+5)/72; % Sk(i)的方差
UFk(i)=(Sk(i)-E)/sqrt(Var);
end;
% ------------------------------正序列计算end
% 逆序列计算---------------------------------
% 构造逆序列y2,长度=y,初始值=0
y2=zeros(size(y));
% 定义逆序累计量序列Sk2,长度=y,初始值=0
Sk2=zeros(size(y));
% 定义逆序统计量UBk,长度=y,初始值=0
UBk=zeros(size(y));
% s归0
s=0;
% 按时间序列逆转样本y
% 也可以使用y2=flipud(y);或者y2=flipdim(y,1);
for i=1:n
y2(i)=y(n-i+1);
end;
% i从2开始,因为根据统计量UBk公式,i=1时,Sk2(1)、E(1)、Var(1)均为0
% 此时UBk无意义,因此公式中,令UBk(1)=0
for i=2:n
for j=1:i
if y2(i)>y2(j)
s=s+1;
else
s=s+0;
end;
end;
Sk2(i)=s;
E=i*(i-1)/4; % Sk2(i)的均值
Var=i*(i-1)*(2*i+5)/72; % Sk2(i)的方差
% 由于对逆序序列的累计量Sk2的构建中,依然用的是累加法,即后者大于前者时s加1,
% 则s的大小表征了一种上升的趋势的大小,而序列逆序以后,应当表现出与原序列相反
% 的趋势表现,因此,用累加法统计Sk2序列,统计量公式(S(i)-E(i))/sqrt(Var(i))
% 也不应改变,但统计量UBk应取相反数以表征正确的逆序序列的趋势
UBk(i)=0-(Sk2(i)-E)/sqrt(Var)
end;
% ------------------------------逆序列计算end
% 此时上一步的到UBk表现的是逆序列在逆序时间上的趋势统计量
% 与UFk做图寻找突变点时,2条曲线应具有同样的时间轴,因此
% 再按时间序列逆转结果统计量UBk,得到时间正序的UBk2,做图用
UBk2=zeros(size(y));
% 也可以使用UBk2=flipud(UBk);或者UBk2=flipdim(UBk,1);
for i=1:n
UBk2(i)=UBk(n-i+1);
end;
% 做突变检测图时,使用UFk和UBk2
% 写入目标xls文件:D:\test2.xls
% 目标表单:Sheet1
% 目标区域:UFk从A1开始,UBk2从B1开始
xlswrite('out.xls',UFk,'Sheet1','A1');
xlswrite('out.xls',UBk2,'Sheet1','B1');
matlab上一次计算结果影响,matlab运行结果跟手算结果不一致怎么办相关推荐
- 【光学】基于matlab GUI维达尔之眼计算【含Matlab源码 2545期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[光学]基于matlab GUI维达尔之眼计算[含Matlab源码 2545期] 点击上面蓝色字体,直接付费下载,即可. 获取代码方式2: ...
- 静电场的有限差分法与matlab 仿真课程设计,计算物理和MATLAB课程设计--自激振动系统的MATLAB仿真.doc...
东北石油大学课程设计任务书 课程 计算物理和MATLAB课程设计 题目 自激振动系统的MATLAB仿真 专业 姓名 学号 主要内容.基本要求.主要参考资料等 主要内容: 研究范?德?波耳(Van de ...
- matlab用jc法计算可靠度,用MATLAB实现JC法计算结构可靠度程序
软件设计开发本栏目责任编辑 :谢媛媛 ComputerKnowledgeand Technology 电脑知识与技术第 5 卷第 29 期 (2009 年 10 月) 用 MATLAB 实现 JC 法 ...
- 电网络节点电压matlab,电力网潮流电压计算例题与matlab程序技术总结.docx
电力网潮流电压计算例题与MATLAB程序编写佘名寰本文介绍了两个电力网潮流计算例题.一例为5个节点5条支路:另一例有6个节点7条支路,有PQ负荷节点也有PV发电机节点,变压器支路标么变比不为1.本文给 ...
- 电网络节点电压matlab,电力网潮流电压计算例题与matlab程序
本文介绍了电力网潮流计算两个例题,给出了完整的计算程序和计算结果.程序包括计算网络节点导纳矩阵和潮流电压两部分.例题选自研究生教材,比较典型实用.希望供电力专业师生和基层技术人员潮流计算时参考. 电力 ...
- matlab用jc法计算可靠度,基于MATLAB的截尾分布下JC法计算可靠度
摘 要: 在水工结构可靠度分析中,随机变量的分布形式常因几何尺寸.物理环境等条件限制,传统JC法已经不适用,因此需要对部分变量进行截尾分布处理.在此借助MATLAB丰富的函数资源,编制出截尾分布处理后 ...
- matlab用梯形法计算河床断面积,Matlab课计算题.doc
Matlab课计算题 PAGE \* MERGEFORMAT PAGE \* MERGEFORMAT 1Matlab计算题:1,农夫老李有一个半径为10m的圆形牛栏,里面长满了草,老李要将家里的一头牛 ...
- matlab上能仿真功率吗,基于MATLAB的高功率因数整流器仿真实验平台
4 基于仿真模块的三相VSR系统的仿真 整个系统是由一个电压环和2个电流环组成的双内环单外环的双环控制结构,电压环不仅控制直流输出电压,并将电压环调节器的输出作为有功电流id的给定,无功电流iq的给定 ...
- matlab如何进行批量计算,什么是matlab中逐列相关的快速计算方法
手动计算可以获得x100的速度提升. An=bsxfun(@minus,A,mean(A,1)); %%% zero-mean Bn=bsxfun(@minus,B,mean(B,1)); %%% z ...
- MATLAB上的GPU加速计算
概述 怎样在MATLAB上做GPU计算呢?主要分为三个步骤:数据的初始化.对GPU数据进行操作.把GPU上的数据回传给CPU 一.数据的初始化 首先要进行数据的初始化.有两种方法可以进行初始化:一是先 ...
最新文章
- sharepoint 2013 使用outlook 打开sharepoint 任务失败
- Spring Security 实战干货:OAuth2登录获取Token的核心逻辑
- postgres的initdb解析——从一次插件升级失败说起
- 十七UML核心视图动态视图之时序图
- 动态规划是真的难啊坚持
- 【算法系列之万字总结常用的查找算法,持续补充更新中】
- ASP.NET网站实现多语言版本 【转】
- python3编码声明_python3编码问题汇总
- 如何让vim支持python_无法使vim支持python
- 【转】Android bluetooth介绍(三): 蓝牙扫描(scan)设备分析
- java创建内部面板类_Java图形与文本(18)
- Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)
- WingIDE 7.2.0 远程调试
- 婚纱纪实类照片调色思路 教你PS洋气的油画效果
- 令人不寒而栗的黄蓉(转)
- Java实现Telegram机器人
- SCI 投稿全过程信件模板一览
- Python爬虫实战:爬取贝壳网二手房成交数据,将数据存入Excel。
- android property实现路径
- Rethinking the Smaller-Norm-Less-Informative Assumption in Channel Pruning of Convolution Layers简记