📄 h_q.m
字号:
function parameters=H_q(filein,yesplot)
%此函数用于计算H(q)图谱的统计特征参数sk、ku、peak和alpha ,beta
n1=256;
%%%%%%%%%%%%%%%%%%%%
z=load(filein);
q1_1=abs(z(:,2));
%q1_1=q1_1-min(q1_1);%放电量均减去最小值????????????????这里需要减去吗?减去了以后,会不会影响倒参数的分析???
phan_1=abs(z(:,1));
%q1_1=q1_1;%针对上面一行的问题,这里试着不用减去。
[q,j]=sort(q1_1);
[phan,j]=sort(phan_1);
t=1;
n=1;
q_step=(max(q)-min(q))/n1;
phan_step=360./n1;
q_divided(1)=0;
phan_divided(1)=0;
for i=1:n1
q_divided(i+1)=q_divided(i)+q_step;
phan_divided(i+1)=phan_divided(i)+phan_step;
end
for i=1:n1
q_index1=find(q>=q_divided(i)&q<=q_divided(i+1));
phan_index1=find(phan>=phan_divided(i)&phan<=phan_divided(i+1));
%if q_index1==[]
if length(q_index1)==0
num_q(i)=0;
else
num_q(i)=length(q_index1);
end
end
q_medium=(q_divided(1:n1)+q_step./2);
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%统计不同的放电量以及对应的放电次数
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%统计不同的放电量以及对应的放电次数
nt=sum(num_q)+1;
f(1)=num_q(1)./nt;
cc=num_q./nt;
for i=2:length(q_medium)
f(i)=f(i-1)+cc(i);
end
index = find(q_medium< 0.0001);
q_medium(index) =[];
num_q(index)=[];
f(index) =[];
x=log(q_medium);
y=log(-log(1-f));
beta=(mean(x.*y)-(mean(x).*mean(y)))./(mean(x.^2)-(mean(x)).^2);
b=(mean(y)-beta.*mean(x));
alpha=exp(b./(-beta));
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%以上统计Weibull分布的两个参数alpha和beta
sk_q=mysk(q_medium,num_q);
ku_q=myku(q_medium,num_q);
peak_q=mypeak(q_medium,num_q);
parameters=zeros(1,5);
parameters(1,:)=[sk_q,ku_q,peak_q,alpha,beta];
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if yesplot==1
% subplot(4,1,4)
bar(q_medium,num_q)
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -