爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
楼主: sfhstcn2

[原创]Matlab气候突变检测程序合集(更新了)

  [复制链接]

新浪微博达人勋

发表于 2017-3-24 10:46:13 | 显示全部楼层
非常感谢
密码修改失败请联系微信:mofangbao
回复

使用道具 举报

新浪微博达人勋

发表于 2017-3-24 18:12:39 | 显示全部楼层
sfhstcn2 发表于 2017-3-17 22:14
这是由于做循环的时候用于赋值的数组的size超出了被赋值的数组,把y1和y2后面的(:)去掉吧。

谢谢楼主回复,目前已能跑出程序,但是还是有一个问题:
chip1(1:length(WA)) = chi2inv(1-p/2,2);
chip2(1:length(WA)) = chi2inv(p/2,2);

%return
figure
if isempty(x)
    plot(WA,'color','b');
    hold on
    plot(chip1,'color','r');
    hold on
    plot(chip2,'color','r');
else
    xt = x(n1:length(y)-n2);
    plot(xt,WA,'color','b');
    hold on
    plot(xt,chip1,'color','r');
    hold on
    plot(xt,chip2,'color','r');
end
title('Le Page method')
end

??? Undefined function or variable 'p'.
若是不加第一个end后也能跑出来,但是这个问题提示怎么破?不用图的话,自己导出数据也能做出图
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-3-25 12:03:39 | 显示全部楼层
青风海魅 发表于 2017-3-24 18:12
谢谢楼主回复,目前已能跑出程序,但是还是有一个问题:
chip1(1:length(WA)) = chi2inv(1-p/2,2);
chi ...

先定义p,p为显著性水平,一般可赋值为0.05、0.01、0.001等
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-25 23:53:44 | 显示全部楼层
感谢楼主分享~~
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-30 11:14:55 | 显示全部楼层
sfhstcn2 发表于 2017-3-25 12:03
先定义p,p为显著性水平,一般可赋值为0.05、0.01、0.001等

感谢楼主回答!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-30 11:28:15 | 显示全部楼层
请问楼主,lepage和BG分割算法程序中的“if isempty(x)”是什么意思?这里X应该对应的是时间,但是编程的这段描述看不懂啊?恳请回复,谢谢楼主!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-30 11:38:09 | 显示全部楼层
所以在跑完程序后,出现这个:??? Undefined function or variable 'x'.
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-30 11:56:04 | 显示全部楼层
尝试定义x后,又出现了:??? Undefined function or variable 'L0'.请问楼主怎么解?
非常感谢!
密码修改失败请联系微信:mofangbao

新浪微博达人勋

 楼主| 发表于 2017-3-30 15:33:21 | 显示全部楼层
青风海魅 发表于 2017-3-30 11:56
尝试定义x后,又出现了:??? Undefined function or variable 'L0'.请问楼主怎么解?
非常感谢!

别用function直接run(这个不是script),你用help BGSA看一下里面有各个变量说明,定义好x,y,P0和L0后,在自己的script下或者command窗口输入[ FLAGS ] = BGSA( x,y,P0,L0 );来调用这个函数。(另外我之前试了一下y最好用标准化后的变量,不然画图还有点问题)P0显著水平,一般取0.95,L0为最小分割序列的长度,一般取序列y总长度的1/10左右。
密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2017-3-30 17:11:21 | 显示全部楼层
sfhstcn2 发表于 2017-3-30 15:33
别用function直接run(这个不是script),你用help BGSA看一下里面有各个变量说明,定义好x,y,P0和L0后 ...

谢谢楼主,我电脑装的MATLAB里没有BGSA,很郁闷啊!这种情况怎么解啊?
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表