%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
X=('wyzjpg');
save ;
imshow(X);
clear;
load ;
subplot(2,2,1);image(X);
title('原始图像');
disp('原始图像X的大小:');
axis square;
[c,s]=wavedec(X,2, 'bior37');
cal = appcoef2 (c,s,'bior37',1);
ch1 = detcoef2('h',c,s,1);
cv1 = detcoef2('v',c,s,1);
cd1 = detcoef2('d',c,s,1);
a1 =wrcoef2('a',c,s, 'bior37',1);
h1 =wrcoef2('h',c,s, 'bior37',1);
v1 =wrcoef2('v',c,s, 'bior37',1);
d1 =wrcoef2('d',c,s, 'bior37',1);
c1 = [a1,h1;v1,d1];
subplot(2,2,2);image(c1);
axis square;
title('分解后低频和高频信息');
cal = appcoef2 (c,s,'bior37',1);
ca1 =wcodemat(ca1,440, 'mat',0);
ca1 =05ca1;
subplot(2,2,3);image(ca1);
title('第一次压缩图像');
disp('第一次压缩图像的大小:');
whos('ca1');
axis square;
ca2 = appcoef2(c,s, 'bior37',2);
ca2 =wcodemat(ca2,440, 'mat',0);
ca2 =025ca2;
subplot(2,2,4);image(ca2);
axis square;
title('第二次压缩图像');
disp('第二次压缩图像的大小:');
whos('ca2');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
你先把上面的程序在命令行里执行一下看看还有问题吗?function GM1_1(X0)
%format long ;
[m,n]=size(X0);
X1=cumsum(X0); %累加
X2=[];
for i=1:n-1
X2(i,:)=X1(i)+X1(i+1);
end
B=-05X2 ;
t=ones(n-1,1);
B=[B,t] ; % 求B矩阵
YN=X0(2:end) ;
P_t=YN/X1(1:(length(X0)-1)) %对原始数据序列X0进行准光滑性检验,
%序列x0的光滑比P(t)=X0(t)/X1(t-1)
A=inv(B'B)B'YN' ;
a=A(1)
u=A(2)
c=u/a ;
b=X0(1)-c ;
X=[num2str(b),'exp','(',num2str(-a),'k',')',num2str(c)];
strcat('X(k+1)=',X)
%syms k;
for t=1:length(X0)
k(1,t)=t-1;
end
k
Y_k_1=bexp(-ak)+c;
for j=1:length(k)-1
Y(1,j)=Y_k_1(j+1)-Y_k_1(j);
end
XY=[Y_k_1(1),Y] %预测值
CA=abs(XY-X0) ; %残差数列
Theta=CA %残差检验 绝对误差序列
XD_Theta= CA / X0 %残差检验 相对误差序列
AV=mean(CA); % 残差数列平均值
R_k=(min(Theta)+05max(Theta))/(Theta+05max(Theta)) ;% P=05
R=sum(R_k)/length(R_k) %关联度
Temp0=(CA-AV)^2 ;
Temp1=sum(Temp0)/length(CA);
S2=sqrt(Temp1) ; %绝对误差序列的标准差
%----------
AV_0=mean(X0); % 原始序列平均值
Temp_0=(X0-AV_0)^2 ;
Temp_1=sum(Temp_0)/length(CA);
S1=sqrt(Temp_1) ; %原始序列的标准差
TempC=S2/S1100; %方差比
C=strcat(num2str(TempC),'%') %后验差检验 %方差比
%----------
SS=0675S1 ;
Delta=abs(CA-AV) ;
TempN=find(Delta<=SS);
N1=length(TempN);
N2=length(CA);
TempP=N1/N2100;
P=strcat(num2str(TempP),'%') %后验差检验 %计算小误差概率function GM1_1(X0)
%format long ;
[m,n]=size(X0);
X1=cumsum(X0); %累加
X2=[];
for i=1:n-1
X2(i,:)=X1(i)+X1(i+1);
end
B=-05X2 ;
t=ones(n-1,1);
B=[B,t] ; % 求B矩阵
YN=X0(2:end) ;
P_t=YN/X1(1:(length(X0)-1)) %对原始数据序列X0进行准光滑性检验,
%序列x0的光滑比P(t)=X0(t)/X1(t-1)
A=inv(B'B)B'YN' ;
a=A(1)
u=A(2)
c=u/a ;
b=X0(1)-c ;
X=[num2str(b),'exp','(',num2str(-a),'k',')',num2str(c)];
strcat('X(k+1)=',X)
%syms k;
for t=1:length(X0)
k(1,t)=t-1;
end
k
Y_k_1=bexp(-ak)+c;
for j=1:length(k)-1
Y(1,j)=Y_k_1(j+1)-Y_k_1(j);
end
XY=[Y_k_1(1),Y] %预测值
CA=abs(XY-X0) ; %残差数列
Theta=CA %残差检验 绝对误差序列
XD_Theta= CA / X0 %残差检验 相对误差序列
AV=mean(CA); % 残差数列平均值
R_k=(min(Theta)+05max(Theta))/(Theta+05max(Theta)) ;% P=05
R=sum(R_k)/length(R_k) %关联度
Temp0=(CA-AV)^2 ;
Temp1=sum(Temp0)/length(CA);
S2=sqrt(Temp1) ; %绝对误差序列的标准差
%----------
AV_0=mean(X0); % 原始序列平均值
Temp_0=(X0-AV_0)^2 ;
Temp_1=sum(Temp_0)/length(CA);
S1=sqrt(Temp_1) ; %原始序列的标准差
TempC=S2/S1100; %方差比
C=strcat(num2str(TempC),'%') %后验差检验 %方差比
%----------
SS=0675S1 ;
Delta=abs(CA-AV) ;
TempN=find(Delta<=SS);
N1=length(TempN);
N2=length(CA);
TempP=N1/N2100;
P=strcat(num2str(TempP),'%') %后验差检验 %计算小误差概率
调用例子:
X0=[2874,3278,3337,339,3679];GM1_1(X0)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)