- 积分
- 1262
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-7-28
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
clc,clear;%% 读取数据
excelFile='xx'; % 数据路径
outputdata='xx'; % 输出路径
myData=imread("E:\*.tif"); % 读取数据
timeSeries=myData(:,1); % 时间序列数据
dataSeries=myData(:,2); %
dataCount=length(dataSeries);
%% 正序列计算
SK=zeros(size(dataSeries)); % 定义SK
UFK=zeros(size(dataSeries)); % 定义UFK
s=0;
for i=2:dataCount
for j=1:i
if dataSeries(i)>dataSeries(j)
s=s+1;
else
s=s+0;
end
end
SK(i)=s;
E=i*(i-1)/4; % SK均值
Var=i*(i-1)*(2*i+5)/72; % SK方差
UFK(i)=(SK(i)-E)/sqrt(Var);
end
%% 逆序列计算
oppSK=zeros(size(dataSeries));
UBK=zeros(size(dataSeries));
s=0;
opphumiditySeries=flipud(dataSeries);
for i=2:dataCount
for j=1:i
if opphumiditySeries(i)>opphumiditySeries(j)
s=s+1;
else
s=s+0;
end
end
oppSK(i)=s;
E=i*(i-1)/4; % SK均值
Var=i*(i-1)*(2*i+5)/72; % SK方差
UBK(i)=0-(oppSK(i)-E)/sqrt(Var);
end
oppUBK=flipud(UBK);
xlswrite(outputdata,UFK,'Sheet2','A1');% 输出结果
xlswrite(outputdata,oppUBK,'Sheet2','B1');
%% 制图
figure(3);
plot(timeSeries,UFK,'r-','linewidth',1.5);
hold on
plot(timeSeries,oppUBK,'b-.','linewidth',1.5);
plot(timeSeries,1.96*ones(dataCount,1),':','linewidth',1);
axis([min(timeSeries),max(timeSeries),-5,5]);
legend('UF统计量','UB统计量','0.05显著水平');
xlabel('t (year)','FontName','TimesNewRoman','FontSize',12);
ylabel('统计量','FontName','TimesNewRoman','Fontsize',12);
hold on
plot(timeSeries,0*ones(dataCount,1),'-.','linewidth',1);
plot(timeSeries,1.96*ones(dataCount,1),':','linewidth',1);
plot(timeSeries,-1.96*ones(dataCount,1),':','linewidth',1);
以上程序输入到matlab中出现错误: 输入字符不是 MATLAB 语句或表达式中的有效字符。急求!!!!!!
|
-
matlab工作框
|